Rune_PRC8/_module/nss/oai_default5.nss
Jaysyn904 d1c309ae63 Initial commit
Initial commit
2024-09-13 09:10:39 -04:00

63 lines
1.7 KiB
Plaintext

////////////////////////////////////////////////////////////////////////////////
//
// 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));
}
}