Further file organization
Further file organization
This commit is contained in:
75
nwn/nwnprc/trunk/smp/xxx_s_rayofforce.nss
Normal file
75
nwn/nwnprc/trunk/smp/xxx_s_rayofforce.nss
Normal file
@@ -0,0 +1,75 @@
|
||||
/*:://////////////////////////////////////////////
|
||||
//:: Spell Name Ray of Force
|
||||
//:: Spell FileName XXX_S_RayOfForce
|
||||
//:://////////////////////////////////////////////
|
||||
//:: In Game Spell desctiption
|
||||
//:://////////////////////////////////////////////
|
||||
Evocation
|
||||
Level: Sor/Wiz 2
|
||||
Components: V, S
|
||||
Casting Time: 1 standard action
|
||||
Range: Medium (20M)
|
||||
Effect: Ray
|
||||
Duration: Instant
|
||||
Saving Throw: None
|
||||
Spell Resistance: Yes
|
||||
Source: Various (Josh_Kablack)
|
||||
|
||||
You snap your fingers and point at a target, causing a tangible ray of
|
||||
gunmetal blue force to project forth from your finger. You must succeed at a
|
||||
ranged touch attack to hit a target. The ray deals 2d6 points of force
|
||||
damage to your target plus an additional +1 point per caster level (maximum +10).
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Spell Effects Applied / Notes
|
||||
//:://////////////////////////////////////////////
|
||||
Force damage is magical damage. Left in for now, like magic missile.
|
||||
|
||||
Easily done. Cap was +20, but now +10, inline with other level 2 spells.
|
||||
|
||||
Visual is a projectile.
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Jasperre
|
||||
//::////////////////////////////////////////////*/
|
||||
|
||||
#include "SMP_INC_SPELLS"
|
||||
|
||||
void main()
|
||||
{
|
||||
// Spell Hook Check.
|
||||
if(!SMP_SpellHookCheck(SMP_SPELL_RAY_OF_FORCE)) return;
|
||||
|
||||
// Declare major variables
|
||||
object oCaster = OBJECT_SELF;
|
||||
object oTarget = GetSpellTargetObject();
|
||||
int nMetaMagic = SMP_GetMetaMagicFeat();
|
||||
int nCasterLevel = SMP_GetCasterLevel();
|
||||
// Ray touch attack
|
||||
int nTouch = SMP_SpellTouchAttack(SMP_TOUCH_RAY, oTarget, TRUE);
|
||||
|
||||
// Bonus to damage
|
||||
int nBonus = SMP_LimitInteger(nCasterLevel, 10);
|
||||
|
||||
// Damage is 2d6 + 1/caster level - magical
|
||||
int nDam = SMP_MaximizeOrEmpower(6, 2, nMetaMagic, nBonus, nTouch);
|
||||
|
||||
// Declare effects
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_MAGBLUE);
|
||||
|
||||
// Signal event
|
||||
SMP_SignalSpellCastAt(oTarget, SMP_SPELL_RAY_OF_FORCE);
|
||||
|
||||
// Touch attack
|
||||
if(nTouch)
|
||||
{
|
||||
// PvP check
|
||||
if(!GetIsReactionTypeFriendly(oTarget))
|
||||
{
|
||||
// Resistance
|
||||
if(!SMP_SpellResistanceCheck(oCaster, oTarget))
|
||||
{
|
||||
// Apply effects
|
||||
SMP_ApplyDamageVFXToObject(oTarget, eVis, nDam);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user