////////////////////////////////////////////////////////////////////////////////
//
//  Olander's AI
//  nw_c2_default5
//  by Don Anderson
//  dandersonru@msn.com
//
//  OnPhysicalAttacked
//  Original script by Fallen
//
////////////////////////////////////////////////////////////////////////////////

#include "oai_inc_ai"

void main()
{
    if (GetAttemptedAttackTarget() != OBJECT_INVALID || GetAttackTarget() != OBJECT_INVALID) return;
    object oAttacker = GetLastAttacker();

/******************************************************************************/
//: CUSTOM ATTACKED ADDITONS BELOW HERE


  //Custom Scripts you Need to Execute
  ExecuteScript("oai_cust_atck", OBJECT_SELF);


//: CUSTOM ATTACKED ADDITONS ABOVE HERE
/******************************************************************************/

    //Trolls
    if(GetBattleCondition(OAI_ROLE_TROLL)) TrollAttacked();

    if(GetBehaviorState(NW_FLAG_BEHAVIOR_OMNIVORE) || GetBehaviorState(NW_FLAG_BEHAVIOR_HERBIVORE))
    {
      OAI_DetermineSpecialBehavior(oAttacker);
    }
    else if(GetIsObjectValid(oAttacker)
      && !GetFactionEqual(oAttacker)
      && !GetIsDM(oAttacker))
    {
      if(OAI_GetIsAlly(oAttacker))
      {
        ClearPersonalReputation(oAttacker, OBJECT_SELF);
        ClearAllActions(TRUE);
        DelayCommand(1.2, ActionDoCommand(OAI_DetermineCombatRound()));
      }
      else OAI_DetermineCombatRound(oAttacker);
    }

    //Shout Attack my target, only works with the On Spawn In setup
    SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK);

    //Shout that I was attacked
    SpeakString("NW_I_WAS_ATTACKED", TALKVOLUME_SILENT_TALK);

    if(GetSpawnInCondition(NW_FLAG_ATTACK_EVENT))
    {
      SignalEvent(OBJECT_SELF, EventUserDefined(1005));
    }
}