Updated Release Archive. Fixed Mage-killer prereqs. Removed old LETO & ConvoCC related files. Added organized spell scroll store. Fixed Gloura spellbook. Various TLK fixes. Reorganized Repo. Removed invalid user folders. Added DocGen back in.
74 lines
2.3 KiB
Plaintext
74 lines
2.3 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: User Defined Henchmen Script
|
|
//:: NW_CH_ACD
|
|
//:: Copyright (c) 2001 Bioware Corp.
|
|
//:://////////////////////////////////////////////
|
|
/*
|
|
The most complicated script in the game.
|
|
... ever
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Preston Watamaniuk
|
|
//:: Created On: March 18, 2002
|
|
//:://////////////////////////////////////////////
|
|
|
|
#include "x2_inc_spellhook"
|
|
#include "nw_i0_generic"
|
|
|
|
void RelayModeToAssociates(int nActionMode, int nValue, object oSelf)
|
|
{
|
|
SetActionMode(oSelf, nActionMode, nValue);
|
|
object oTest = GetAssociate(ASSOCIATE_TYPE_FAMILIAR);
|
|
if(GetIsObjectValid(oTest))
|
|
SetActionMode(oTest, nActionMode, nValue);
|
|
|
|
oTest = GetAssociate(ASSOCIATE_TYPE_ANIMALCOMPANION);
|
|
if(GetIsObjectValid(oTest))
|
|
SetActionMode(oTest, nActionMode, nValue);
|
|
|
|
oTest = GetAssociate(ASSOCIATE_TYPE_SUMMONED);
|
|
if(GetIsObjectValid(oTest))
|
|
SetActionMode(oTest, nActionMode, nValue);
|
|
|
|
oTest = GetAssociate(ASSOCIATE_TYPE_DOMINATED);
|
|
if(GetIsObjectValid(oTest))
|
|
SetActionMode(oTest, nActionMode, nValue);
|
|
}
|
|
|
|
void main()
|
|
{
|
|
object oSelf = OBJECT_SELF;
|
|
int nEvent = GetUserDefinedEventNumber();
|
|
|
|
ExecuteScript("prc_onuserdef", oSelf);
|
|
|
|
//HenchAI start
|
|
if(!GetIsFighting(oSelf))
|
|
{
|
|
if(nEvent == 20000 + ACTION_MODE_STEALTH)
|
|
{
|
|
if(!GetLocalInt(oSelf, "HenchDisableAutoHide"))
|
|
{
|
|
int bStealth = GetActionMode(GetMaster(), ACTION_MODE_STEALTH);
|
|
RelayModeToAssociates(ACTION_MODE_STEALTH, bStealth, oSelf);
|
|
}
|
|
}
|
|
else if(nEvent == 20000 + ACTION_MODE_DETECT)
|
|
{
|
|
int bDetect = GetActionMode(GetMaster(), ACTION_MODE_DETECT);
|
|
RelayModeToAssociates(ACTION_MODE_DETECT, bDetect, oSelf);
|
|
}
|
|
}
|
|
//HenchAI end
|
|
|
|
// * If a creature has the integer variable X2_L_CREATURE_NEEDS_CONCENTRATION set to TRUE
|
|
// * it may receive this event. It will unsommon the creature immediately
|
|
if(nEvent == X2_EVENT_CONCENTRATION_BROKEN)
|
|
{
|
|
effect eVis = EffectVisualEffect(VFX_IMP_UNSUMMON);
|
|
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis, GetLocation(oSelf));
|
|
FloatingTextStrRefOnCreature(84481, GetMaster(oSelf));
|
|
DestroyObject(oSelf, 0.1f);
|
|
}
|
|
}
|