Added NWN Dark Sun module contents
Added NWN Dark Sun module contents.
This commit is contained in:
48
nwnds_module/tliz_slam.nss
Normal file
48
nwnds_module/tliz_slam.nss
Normal file
@@ -0,0 +1,48 @@
|
||||
//::
|
||||
//:: A pnp version of the Tliz's Level draining slam.
|
||||
//::
|
||||
//:: Modified by: DM Heatstroke 05-10-11
|
||||
//::
|
||||
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "nw_i0_plot"
|
||||
|
||||
void DoLevelDrain(object oTarget, object oCaster)
|
||||
{
|
||||
// Setup oCaster's healing
|
||||
effect eDrain = EffectTemporaryHitpoints(5);
|
||||
eDrain = ExtraordinaryEffect(eDrain);
|
||||
effect eVis1 = EffectVisualEffect(VFX_IMP_HEALING_L);
|
||||
|
||||
// Setup Level Drain
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
|
||||
effect eNeg = EffectNegativeLevel(2);
|
||||
eNeg = SupernaturalEffect(eNeg);
|
||||
|
||||
// Drain levels from oTarget
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oTarget);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eNeg, oTarget, HoursToSeconds(24));
|
||||
// Apply Temp HP to oCaster
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis1, oCaster);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eDrain, oCaster, HoursToSeconds(1));
|
||||
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
object oTarget = GetSpellTargetObject();
|
||||
object oCaster = OBJECT_SELF;
|
||||
|
||||
/* int bIsPoisoned = GetLocalInt(oTarget,"IsPoisoned");
|
||||
if ( bIsPoisoned )
|
||||
return; */
|
||||
|
||||
if ( GetIsImmune(oTarget,IMMUNITY_TYPE_NEGATIVE_LEVEL) )
|
||||
{
|
||||
SendMessageToPC(oTarget,"Immune to level drain.");
|
||||
return;
|
||||
}
|
||||
|
||||
DelayCommand(0.1,DoLevelDrain(oTarget,oCaster));
|
||||
|
||||
}
|
Reference in New Issue
Block a user