98 lines
2.7 KiB
Plaintext
98 lines
2.7 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Name x2_def_userdef
|
|
//:: Copyright (c) 2001 Bioware Corp.
|
|
//:://////////////////////////////////////////////
|
|
/*
|
|
Default On User Defined Event script
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Keith Warner
|
|
//:: Created On: June 11/03
|
|
//:://////////////////////////////////////////////
|
|
|
|
#include "nw_i0_generic"
|
|
|
|
const int EVENT_USER_DEFINED_PRESPAWN = 1510;
|
|
const int EVENT_USER_DEFINED_POSTSPAWN = 1511;
|
|
void main()
|
|
{
|
|
int nUser = GetUserDefinedEventNumber();
|
|
|
|
if(nUser == EVENT_HEARTBEAT ) //HEARTBEAT
|
|
{
|
|
|
|
}
|
|
else if(nUser == EVENT_PERCEIVE) // PERCEIVE
|
|
{
|
|
|
|
}
|
|
else if(nUser == EVENT_END_COMBAT_ROUND) // END OF COMBAT
|
|
{
|
|
|
|
}
|
|
else if(nUser == EVENT_DIALOGUE) // ON DIALOGUE
|
|
{
|
|
|
|
}
|
|
else if(nUser == EVENT_ATTACKED) // ATTACKED
|
|
{
|
|
object oPC = GetLastAttacker(OBJECT_SELF);
|
|
int nCRMax = GetHitDice(oPC);
|
|
//ActionUseTalentOnObject(GetCreatureTalentBest(TALENT_CATEGORY_BENEFICIAL_OBTAIN_ALLIES, nCRMax), OBJECT_SELF);
|
|
|
|
|
|
}
|
|
else if(nUser == EVENT_DAMAGED) // DAMAGED
|
|
{
|
|
int iFeatCheck = GetLocalInt(OBJECT_SELF, "iFeatCheck");
|
|
int iHalfHP;
|
|
if (GetCurrentHitPoints() < (GetMaxHitPoints()/2)) iHalfHP = 1;
|
|
|
|
if (iFeatCheck != 1 && iHalfHP == 1)
|
|
{
|
|
|
|
int iFeat;
|
|
|
|
//Shifter
|
|
if (GetLevelByClass(CLASS_TYPE_SHIFTER) > 0)
|
|
{
|
|
if (GetHasFeat(FEAT_EPIC_WILD_SHAPE_DRAGON)) iFeat = FEAT_EPIC_WILD_SHAPE_DRAGON;
|
|
else if (GetHasFeat(FEAT_EPIC_OUTSIDER_SHAPE)) iFeat = FEAT_EPIC_OUTSIDER_SHAPE;
|
|
else if (GetHasFeat(FEAT_EPIC_CONSTRUCT_SHAPE)) iFeat = FEAT_EPIC_CONSTRUCT_SHAPE;
|
|
else if (GetHasFeat(FEAT_EPIC_WILD_SHAPE_UNDEAD)) iFeat = FEAT_EPIC_WILD_SHAPE_UNDEAD;
|
|
else if (GetHasFeat(FEAT_GREATER_WILDSHAPE_4)) iFeat = FEAT_GREATER_WILDSHAPE_4;
|
|
else if (GetHasFeat(FEAT_GREATER_WILDSHAPE_3)) iFeat = FEAT_GREATER_WILDSHAPE_3;
|
|
else if (GetHasFeat(FEAT_HUMANOID_SHAPE)) iFeat = FEAT_HUMANOID_SHAPE;
|
|
else if (GetHasFeat(FEAT_GREATER_WILDSHAPE_2)) iFeat = FEAT_GREATER_WILDSHAPE_2;
|
|
else if (GetHasFeat(FEAT_GREATER_WILDSHAPE_1)) iFeat = FEAT_GREATER_WILDSHAPE_1;
|
|
|
|
ActionUseFeat(iFeat, OBJECT_SELF);
|
|
}
|
|
|
|
SetLocalInt(OBJECT_SELF, "iFeatCheck", 1);
|
|
|
|
}
|
|
|
|
}
|
|
else if(nUser == 1007) // DEATH - do not use for critical code, does not fire reliably all the time
|
|
{
|
|
|
|
}
|
|
else if(nUser == EVENT_DISTURBED) // DISTURBED
|
|
{
|
|
|
|
}
|
|
else if (nUser == EVENT_USER_DEFINED_PRESPAWN)
|
|
{
|
|
|
|
}
|
|
else if (nUser == EVENT_USER_DEFINED_POSTSPAWN)
|
|
{
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|