Removed JAI
Removed JAI, added CODI AI. Fixed encounters & NPCs in Forest of Hope Central. Fixed Outcast store not opening. Added Druid Grove & associated NPCS.
This commit is contained in:
@@ -1,85 +0,0 @@
|
||||
/*/////////////////////// [On Disturbed] ///////////////////////////////////////
|
||||
Filename: J_AI_OnDisturbed or nw_c2_default8
|
||||
///////////////////////// [On Disturbed] ///////////////////////////////////////
|
||||
This will attack pickpockets, and inventory disturbers. Note: Stupidly, Bioware
|
||||
made this only affect the creature by stealing. Still, oh well :-(
|
||||
|
||||
This means that the only event which fires it is pickpocketing.
|
||||
///////////////////////// [History] ////////////////////////////////////////////
|
||||
1.3 - Changed why we determine combat round
|
||||
- Any change in inventory will trigger appropriate SetWeapons again.
|
||||
- Added turn of hide things.
|
||||
1.4 - Cleaned up a bit. Removed unused declared variable.
|
||||
///////////////////////// [Workings] ///////////////////////////////////////////
|
||||
Only fired by stealing, great. Oh well, it will attack any disturber anyway.
|
||||
|
||||
It *might* not be fired if the natural spot check to notice a theft doesn't
|
||||
work. No idea personally.
|
||||
///////////////////////// [Arguments] //////////////////////////////////////////
|
||||
Arguments: GetInventoryDisturbItem, GetLastDisturbed,
|
||||
GetInventoryDisturbType (I think it is always be stolen :-( ).
|
||||
///////////////////////// [On Disturbed] /////////////////////////////////////*/
|
||||
|
||||
#include "J_INC_OTHER_AI"
|
||||
|
||||
void main()
|
||||
{
|
||||
// Pre-disturbed-event. Returns TRUE if we interrupt this script call.
|
||||
if(FirePreUserEvent(AI_FLAG_UDE_DISTURBED_PRE_EVENT, EVENT_DISTURBED_PRE_EVENT)) return;
|
||||
|
||||
// AI status check. Is the AI on?
|
||||
if(GetAIOff()) return;
|
||||
|
||||
// Declare major variables
|
||||
object oDisturber = GetLastDisturbed();
|
||||
object oItem = GetInventoryDisturbItem();
|
||||
int nType = GetInventoryDisturbType();
|
||||
int nBase = GetBaseItemType(oItem);
|
||||
|
||||
// We will reset weapons if it is a weapon.
|
||||
// Reset weapons, or specifically healers kits.
|
||||
if(GetIsObjectValid(oItem))
|
||||
{
|
||||
// Kits
|
||||
if(nBase == BASE_ITEM_HEALERSKIT)
|
||||
{
|
||||
SetLocalInt(OBJECT_SELF, AI_WEAPONSETTING_SETWEAPONS, 2);
|
||||
ExecuteScript(FILE_RE_SET_WEAPONS, OBJECT_SELF);
|
||||
}
|
||||
else // Think it is a weapon. Saves time :-)
|
||||
{
|
||||
SetLocalInt(OBJECT_SELF, AI_WEAPONSETTING_SETWEAPONS, 1);
|
||||
ExecuteScript(FILE_RE_SET_WEAPONS, OBJECT_SELF);
|
||||
}
|
||||
}
|
||||
// Fight! Or search!
|
||||
if(!GetIgnoreNoFriend(oDisturber) &&
|
||||
(nType == INVENTORY_DISTURB_TYPE_STOLEN || GetIsEnemy(oDisturber)))
|
||||
{
|
||||
// Turn of hiding, a timer to activate Hiding in the main file. This is
|
||||
// done in each of the events, with the opposition checking seen/heard.
|
||||
TurnOffHiding(oDisturber);
|
||||
|
||||
// Can we attack?
|
||||
if(!CannotPerformCombatRound())
|
||||
{
|
||||
// Someone specific to attack
|
||||
AISpeakString(AI_SHOUT_I_WAS_ATTACKED);
|
||||
|
||||
// One debug speak. We always do one.
|
||||
// 65: "[Disturbed] (pickpocket) Attacking Enemy Distrube [Disturber] " + GetName(oTarget) + " [Type] " + IntToString(iType)
|
||||
DebugActionSpeakByInt(65, oDisturber, nType);
|
||||
|
||||
// Attack the disturber
|
||||
DetermineCombatRound(oDisturber);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Get allies interested.
|
||||
AISpeakString(AI_SHOUT_CALL_TO_ARMS);
|
||||
}
|
||||
}
|
||||
|
||||
// Fire End-heartbeat-UDE
|
||||
FireUserEvent(AI_FLAG_UDE_DISTURBED_EVENT, EVENT_DISTURBED_EVENT);
|
||||
}
|
Reference in New Issue
Block a user