Further file organization
Further file organization
This commit is contained in:
82
nwn/nwnprc/trunk/smp/phs_s_blessweap.nss
Normal file
82
nwn/nwnprc/trunk/smp/phs_s_blessweap.nss
Normal file
@@ -0,0 +1,82 @@
|
||||
/*:://////////////////////////////////////////////
|
||||
//:: Spell Name Bless Weapon
|
||||
//:: Spell FileName PHS_S_BlessWeap
|
||||
//:://////////////////////////////////////////////
|
||||
//:: In Game Spell desctiption
|
||||
//:://////////////////////////////////////////////
|
||||
Bless Weapon
|
||||
Transmutation
|
||||
Level: Pal 1
|
||||
Components: V, S
|
||||
Casting Time: 1 standard action
|
||||
Range: Touch
|
||||
Target: Weapon touched
|
||||
Duration: 1 min./level
|
||||
Saving Throw: None
|
||||
Spell Resistance: No
|
||||
|
||||
This transmutation makes a weapon strike true against evil foes. The weapon
|
||||
is enchanted to be +1 against evil, gaining +1 to hit, +1 damage and able
|
||||
to bypass level 1 damage reduction on evil creatures.
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Spell Effects Applied / Notes
|
||||
//:://////////////////////////////////////////////
|
||||
Just adds a +1 Enchantment Bonus against Evil creatures, to the weapon. Best
|
||||
we can do... :-(
|
||||
|
||||
Should work as Bioware item property addings.
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Jasperre
|
||||
//::////////////////////////////////////////////*/
|
||||
|
||||
#include "PHS_INC_SPELLS"
|
||||
|
||||
// These hold the all important weapon functions. Will seperate later and modify.
|
||||
#include "prc_x2_itemprop"
|
||||
|
||||
void AddEnhancementEffectToWeapon(object oMyWeapon, float fDuration)
|
||||
{
|
||||
IPSafeAddItemProperty(oMyWeapon, ItemPropertyEnhancementBonusVsAlign(IP_CONST_ALIGNMENTGROUP_EVIL, 1), fDuration, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, TRUE, TRUE);
|
||||
return;
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
// Spell hook check.
|
||||
if(!PHS_SpellHookCheck()) return;
|
||||
|
||||
// Declare major variables
|
||||
object oCaster = OBJECT_SELF;
|
||||
object oWeaponTarget = IPGetTargetedOrEquippedMeleeWeapon();
|
||||
object oTarget = GetItemPossessor(oWeaponTarget);
|
||||
int nCasterLevel = PHS_GetCasterLevel();
|
||||
int nMetaMagic = PHS_GetMetaMagicFeat();
|
||||
|
||||
// Make sure they are not immune to spells
|
||||
if(PHS_TotalSpellImmunity(oTarget)) return;
|
||||
|
||||
// Duration in minutes
|
||||
float fDuration = PHS_GetDuration(PHS_MINUTES, nCasterLevel, nMetaMagic);
|
||||
|
||||
//Declare major variables
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_SUPER_HEROISM);
|
||||
effect eCessate = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
|
||||
|
||||
if(GetIsObjectValid(oWeaponTarget))
|
||||
{
|
||||
// Signal event spel cast at
|
||||
PHS_SignalSpellCastAt(oTarget, PHS_SPELL_BLESS_WEAPON, FALSE);
|
||||
|
||||
// Apply effects and enchantment, +1 VS evil, to weapon
|
||||
PHS_ApplyDurationAndVFX(oTarget, eVis, eCessate, fDuration);
|
||||
AddEnhancementEffectToWeapon(oWeaponTarget, fDuration);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
// * Spell Failed - Target must be a melee weapon or creature
|
||||
// with a melee weapon equipped *
|
||||
FloatingTextStrRefOnCreature(83615, OBJECT_SELF);
|
||||
return;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user