//:://///////////////////////////////////////////// //:: Associate: On Spawn In //:: NW_CH_AC9 //:: Copyright (c) 2001 Bioware Corp. //::////////////////////////////////////////////// /* This must support the OC henchmen and all summoned/companion creatures. */ //::////////////////////////////////////////////// //:: Created By: Preston Watamaniuk //:: Created On: Nov 19, 2001 //::////////////////////////////////////////////// //:: Updated By: Georg Zoeller, 2003-08-20: Added variable check for spawn in animation #include "X0_INC_HENAI" #include "x2_inc_switches" void main() { //Sets up the special henchmen listening patterns SetAssociateListenPatterns(); // Set additional henchman listening patterns bkSetListeningPatterns(); //DMFI CODE ADDITIONS BEGIN HERE SetListening(OBJECT_SELF, TRUE); SetListenPattern(OBJECT_SELF, "**", 20600); //listen to all text SetLocalInt(OBJECT_SELF, "hls_Listening", 1); //listen to all text //DMFI CODE ADDITIONS END HERE // Default behavior for henchmen at start SetAssociateState(NW_ASC_POWER_CASTING); SetAssociateState(NW_ASC_HEAL_AT_50); SetAssociateState(NW_ASC_RETRY_OPEN_LOCKS); SetAssociateState(NW_ASC_DISARM_TRAPS); SetAssociateState(NW_ASC_MODE_DEFEND_MASTER, FALSE); //Use melee weapons by default SetAssociateState(NW_ASC_USE_RANGED_WEAPON, FALSE); // Distance: make henchmen stick closer SetAssociateState(NW_ASC_DISTANCE_4_METERS); if (GetAssociate(ASSOCIATE_TYPE_HENCHMAN, GetMaster()) == OBJECT_SELF) { SetAssociateState(NW_ASC_DISTANCE_2_METERS); } // * If Incorporeal, apply changes if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_IS_INCORPOREAL) == TRUE) { effect eConceal = EffectConcealment(50, MISS_CHANCE_TYPE_NORMAL); eConceal = ExtraordinaryEffect(eConceal); effect eGhost = EffectCutsceneGhost(); eGhost = ExtraordinaryEffect(eGhost); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eConceal, OBJECT_SELF); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eGhost, OBJECT_SELF); } // Set starting location SetAssociateStartLocation(); }