Initial upload
Initial upload. PRC8 has been added. Module compiles, PRC's default AI & treasure scripts have been integrated. Started work on top hak for SLA / Ability / Scripting modifications.
This commit is contained in:
111
_module/nss/jw_queenspider_s.nss
Normal file
111
_module/nss/jw_queenspider_s.nss
Normal file
@@ -0,0 +1,111 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Custom User Defined Event
|
||||
//:: FileName
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By:
|
||||
//:: Created On:
|
||||
//:://////////////////////////////////////////////
|
||||
#include "nw_i0_spells"
|
||||
|
||||
void dobuffs()
|
||||
{
|
||||
|
||||
//Declare major variables
|
||||
int nAmount = 20;
|
||||
int nDuration = nAmount;
|
||||
object oTarget = OBJECT_SELF;
|
||||
int nDamage = nAmount * 10;
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_GREATER_STONESKIN, FALSE));
|
||||
|
||||
effect eVis2 = EffectVisualEffect(VFX_IMP_POLYMORPH);
|
||||
effect eStone = EffectDamageReduction(20, DAMAGE_POWER_PLUS_FIVE, nDamage);
|
||||
effect eVis = EffectVisualEffect(VFX_DUR_PROT_STONESKIN);
|
||||
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
|
||||
|
||||
//Link the texture replacement and the damage reduction effect
|
||||
effect eLink = EffectLinkEffects(eVis, eStone);
|
||||
eLink = EffectLinkEffects(eLink, eDur);
|
||||
|
||||
//Remove effects from target if they have Greater Stoneskin cast on them already.
|
||||
RemoveEffectsFromSpell(oTarget, SPELL_GREATER_STONESKIN);
|
||||
|
||||
//Apply the linked effect
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oTarget);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, HoursToSeconds(nDuration));
|
||||
effect eSpell = EffectSpellLevelAbsorption(4, 0);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eSpell, oTarget, HoursToSeconds(nDuration));
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
int nUser = GetUserDefinedEventNumber();
|
||||
|
||||
if(nUser == 1001) //HEARTBEAT
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
else if(nUser == 1002) // PERCEIVE
|
||||
{
|
||||
|
||||
}
|
||||
else if(nUser == 1003) // END OF COMBAT
|
||||
{
|
||||
|
||||
}
|
||||
else if(nUser == 1004) // ON DIALOGUE
|
||||
{
|
||||
|
||||
}
|
||||
else if(nUser == 1005) // ATTACKED
|
||||
{
|
||||
if (GetLocalInt(OBJECT_SELF,"nDone")!=1)
|
||||
{
|
||||
dobuffs();
|
||||
SetLocalInt(OBJECT_SELF,"nDone",1);
|
||||
}
|
||||
}
|
||||
else if(nUser == 1006) // DAMAGED
|
||||
{
|
||||
|
||||
}
|
||||
else if(nUser == 1007) // DEATH
|
||||
{
|
||||
object oPC=GetLastDamager();
|
||||
vector vPosition=GetPosition(oPC);
|
||||
SetFacingPoint(vPosition);
|
||||
effect eArrow = EffectVisualEffect(245);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eArrow, oPC);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_IMP_ACID_S),OBJECT_SELF);
|
||||
float fDist = GetDistanceToObject(oPC);
|
||||
float fDelay = (fDist/25.0);//(3.0 * log(fDist) + 2.0);
|
||||
//ActionCastFakeSpellAtObject(SPELL_MELFS_ACID_ARROW,oPC,PROJECTILE_PATH_TYPE_HIGH_BALLISTIC);
|
||||
|
||||
DelayCommand(fDelay,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectBlindness(),oPC,20.0));
|
||||
DelayCommand(fDelay,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectVisualEffect(VFX_DUR_BLIND),oPC,20.0));
|
||||
|
||||
|
||||
DelayCommand(fDelay,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectPoison(POISON_GARGANTUAN_SPIDER_VENOM),oPC,400.0));
|
||||
DelayCommand(fDelay,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectVisualEffect(VFX_IMP_POISON_S),oPC,20.0));
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
else if(nUser == 1008) // DISTURBED
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user