67 lines
2.1 KiB
Plaintext
67 lines
2.1 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Associate On Attacked
|
|
//:: NW_CH_AC5
|
|
//:: Copyright (c) 2001 Bioware Corp.
|
|
//:://////////////////////////////////////////////
|
|
/*
|
|
If already fighting then ignore, else determine
|
|
combat round
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Preston Watamaniuk
|
|
//:: Created On: Oct 16, 2001
|
|
//:://////////////////////////////////////////////
|
|
//:://////////////////////////////////////////////
|
|
//:: Modified By: Deva Winblood
|
|
//:: Modified On: Jan 4th, 2008
|
|
//:: Added Support for Mounted Combat Feat Support
|
|
//:://////////////////////////////////////////////
|
|
|
|
#include "X0_INC_HENAI"
|
|
|
|
void main()
|
|
{
|
|
// Don't do anything if we have have been recently commanded QWE
|
|
if (GetLocalInt(OBJECT_SELF, "commandstatus"))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if (!GetLocalInt(GetModule(),"X3_NO_MOUNTED_COMBAT_FEAT"))
|
|
{ // set variables on target for mounted combat
|
|
SetLocalInt(OBJECT_SELF,"bX3_LAST_ATTACK_PHYSICAL",TRUE);
|
|
SetLocalInt(OBJECT_SELF,"nX3_HP_BEFORE",GetCurrentHitPoints(OBJECT_SELF));
|
|
} // set variables on target for mounted combat
|
|
|
|
SpeakString("NW_I_WAS_ATTACKED", TALKVOLUME_SILENT_TALK);
|
|
if(!GetAssociateState(NW_ASC_IS_BUSY))
|
|
{
|
|
SetCommandable(TRUE);
|
|
if(!GetAssociateState(NW_ASC_MODE_STAND_GROUND))
|
|
{
|
|
if(!GetIsObjectValid(GetAttackTarget()) && !GetIsObjectValid(GetAttemptedSpellTarget()))
|
|
{
|
|
if(GetIsObjectValid(GetLastAttacker()))
|
|
{
|
|
if(GetAssociateState(NW_ASC_MODE_DEFEND_MASTER))
|
|
{
|
|
object oTarget = GetLastAttacker(GetMaster());
|
|
HenchmenCombatRound(oTarget);
|
|
}
|
|
else
|
|
{
|
|
HenchmenCombatRound(OBJECT_INVALID);
|
|
}
|
|
|
|
}
|
|
}
|
|
if(GetSpawnInCondition(NW_FLAG_ATTACK_EVENT))
|
|
{
|
|
SignalEvent(OBJECT_SELF, EventUserDefined(1005));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|