86 lines
2.1 KiB
Plaintext
86 lines
2.1 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Custom User Defined Event
|
|
//:: FileName
|
|
//:: Copyright (c) 2001 Bioware Corp.
|
|
//:://////////////////////////////////////////////
|
|
/*
|
|
Drider assassin: jump away every few rounds
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By:
|
|
//:: Created On:
|
|
//:://////////////////////////////////////////////
|
|
|
|
#include "nw_i0_generic"
|
|
|
|
void Jump()
|
|
{
|
|
object oWP = GetNearestObjectByTag("q6f_wp_assassin_jump", OBJECT_SELF, 3);
|
|
effect eJump = EffectDisappearAppear(GetLocation(oWP));
|
|
// heal now more than 5 times
|
|
int nCount = GetLocalInt(OBJECT_SELF, "HEAL_COUNT");
|
|
nCount++;
|
|
SetLocalInt(OBJECT_SELF, "HEAL_COUNT", nCount);
|
|
if(nCount <= 5)
|
|
{
|
|
effect eHeal = EffectHeal(30);
|
|
DelayCommand(2.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eHeal, OBJECT_SELF));
|
|
}
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eJump, OBJECT_SELF, 4.0);
|
|
object oEnemy = GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY);
|
|
DelayCommand(4.1, DetermineCombatRound(oEnemy));
|
|
SetLocalInt(OBJECT_SELF, "JUMP_COUNT_MAX", 0);
|
|
SetLocalInt(OBJECT_SELF, "JUMP_COUNT", 0);
|
|
}
|
|
|
|
void main()
|
|
{
|
|
int nUser = GetUserDefinedEventNumber();
|
|
|
|
if(nUser == 1001) //HEARTBEAT
|
|
{
|
|
|
|
}
|
|
else if(nUser == 1002) // PERCEIVE
|
|
{
|
|
|
|
}
|
|
else if(nUser == 1003) // END OF COMBAT
|
|
{
|
|
// jumps every few rounds
|
|
int nCount = GetLocalInt(OBJECT_SELF, "JUMP_COUNT");
|
|
int nCurrentMax = GetLocalInt(OBJECT_SELF, "JUMP_COUNT_MAX");
|
|
nCount++;
|
|
SetLocalInt(OBJECT_SELF, "JUMP_COUNT", nCount);
|
|
if(nCurrentMax == 0)
|
|
{
|
|
nCurrentMax = Random(3) + 1;
|
|
SetLocalInt(OBJECT_SELF, "JUMP_COUNT_MAX", nCurrentMax);
|
|
}
|
|
if(nCount == nCurrentMax) // already have a random time
|
|
Jump();
|
|
}
|
|
else if(nUser == 1004) // ON DIALOGUE
|
|
{
|
|
|
|
}
|
|
else if(nUser == 1005) // ATTACKED
|
|
{
|
|
|
|
}
|
|
else if(nUser == 1006) // DAMAGED
|
|
{
|
|
|
|
}
|
|
else if(nUser == 1007) // DEATH
|
|
{
|
|
|
|
}
|
|
else if(nUser == 1008) // DISTURBED
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
|