Updated Release Archive. Fixed Mage-killer prereqs. Removed old LETO & ConvoCC related files. Added organized spell scroll store. Fixed Gloura spellbook. Various TLK fixes. Reorganized Repo. Removed invalid user folders. Added DocGen back in.
77 lines
3.0 KiB
Plaintext
77 lines
3.0 KiB
Plaintext
/*:://////////////////////////////////////////////
|
||
//:: Spell Name Magic Circle against Chaos
|
||
//:: Spell FileName PHS_S_MagicCirC
|
||
//:://////////////////////////////////////////////
|
||
//:: In Game Spell desctiption
|
||
//:://////////////////////////////////////////////
|
||
Abjuration [Lawful]
|
||
Level: Clr 3, Law 3, Pal 3, Sor/Wiz 3
|
||
Components: V, S, DF
|
||
Casting Time: 1 standard action
|
||
Range: Touch
|
||
Area: 3.33-M.-radius emanation from touched creature
|
||
Duration: 10 min./level
|
||
Saving Throw: Will negates (harmless)
|
||
Spell Resistance: No; see text
|
||
|
||
All creatures within the area gain the effects of a protection from chaos
|
||
spell, gaining +2 AC, +2 saves and immunity to possession by chaotic
|
||
creatures.
|
||
|
||
In addition, no nonlawful summoned creatures can enter the area either.
|
||
You must overcome a creature’s spell resistance in order to keep it at bay,
|
||
but the deflection and resistance bonuses and the protection from mental
|
||
control apply regardless of enemies’ spell resistance. If the summoned
|
||
creature is already in the area when the spell then they ignore the
|
||
resistance check. The protection against summoned creatures ends if the
|
||
warded creature makes an attack against or tries to force the barrier
|
||
against the blocked creature.
|
||
|
||
This spell is not cumulative with protection from chaos and vice versa.
|
||
//:://////////////////////////////////////////////
|
||
//:: Spell Effects Applied / Notes
|
||
//:://////////////////////////////////////////////
|
||
AOE placed on the target.
|
||
|
||
The On Enter will do pushback and apply effects. It applies it to ALL creatures.
|
||
|
||
Only outsiders and summoned creatures will be affected by the pushback.
|
||
//:://////////////////////////////////////////////
|
||
//:: Created By: Jasperre
|
||
//::////////////////////////////////////////////*/
|
||
|
||
#include "PHS_INC_SPELLS"
|
||
|
||
void main()
|
||
{
|
||
// Spell hook check.
|
||
if(!PHS_SpellHookCheck(PHS_SPELL_MAGIC_CIRCLE_AGAINST_CHAOS)) return;
|
||
|
||
//Declare major variables
|
||
object oCaster = OBJECT_SELF;
|
||
object oTarget = GetSpellTargetObject();
|
||
int nCasterLevel = PHS_GetCasterLevel();
|
||
int nMetaMagic = PHS_GetMetaMagicFeat();
|
||
|
||
// 10 minutes/level duration
|
||
float fDuration = PHS_GetDuration(PHS_MINUTES, nCasterLevel * 10, nMetaMagic);
|
||
|
||
// Declare effects
|
||
effect eAOE = EffectAreaOfEffect(PHS_AOE_MOB_MAGCIR_CHAOS);
|
||
|
||
// Signal spell cast at event
|
||
PHS_SignalSpellCastAt(oTarget, PHS_SPELL_MAGIC_CIRCLE_AGAINST_CHAOS, FALSE);
|
||
|
||
// Remove previous castings
|
||
PHS_RemoveSpecificEffectFromSpell(EFFECT_TYPE_AREA_OF_EFFECT, PHS_SPELL_MAGIC_CIRCLE_AGAINST_CHAOS, oTarget);
|
||
|
||
// Set local integer so that the first ones will not be affected, which
|
||
// is removed after 1.0 seconds.
|
||
string sLocal = PHS_MOVING_BARRIER_START + IntToString(PHS_SPELL_MAGIC_CIRCLE_AGAINST_CHAOS);
|
||
SetLocalInt(oCaster, sLocal, TRUE);
|
||
DelayCommand(1.0, DeleteLocalInt(oCaster, sLocal));
|
||
|
||
// Apply effects
|
||
PHS_ApplyDuration(oTarget, eAOE, fDuration);
|
||
}
|