//:://///////////////////////////////////////////// //:: On Spawn In //:: //::////////////////////////////////////////////// /* Determines the course of action to be taken after having just been spawned in */ //::////////////////////////////////////////////// #include "no_lib_data" #include "no_inc" #include "nw_o2_coninclude" #include "x0_i0_treasure" void main() { //Behaviour config AddBehaviour( "+AVOIDMELEE", 10 ); //avoid melee AddBehaviour( "+EVACAOE", 80 ); //evac AOEs AddBehaviour( "+HEALSELF", 100 ); //heal self AddBehaviour( "+REGROUP", 0 ); //regroup AddBehaviour( "+SUMMON", 50 ); //summon spells AddBehaviour( "+HELP", 50 ); //help AddBehaviour( "+VIS", 50 ); //vision AddBehaviour( "+DEFSELF", 10 ); //defend self AddBehaviour( "+DEFSING", 5 ); //defend single AddBehaviour( "+ENHANCESELF", 20 ); //enhance self AddBehaviour( "+GROUPENHANCE", 0 ); //enhance group AddBehaviour( "+ENHANCESING", 0 ); //enhance single AddBehaviour( "+FEATENHANCE", 10 ); //enhance self via feats AddBehaviour( "+DISPEL", 10 ); //dispel single AddBehaviour( "+DISPELAOE", 10 ); //dispel AOEs AddBehaviour( "+DISMISSAL", 10 ); //dismiss summons AddBehaviour( "+BREACH", 10 ); //breach AddBehaviour( "+TIMESTOP", 20 ); //time stop AddBehaviour( "+AREA", 80 ); //area attack spells AddBehaviour( "+DIRECT", 80 ); //direct attack spells AddBehaviour( "+TOUCH", 80 ); //touch attack spells AddBehaviour( "+ATKRANGED", 100 ); //ranged attack //Other config //Corpse decay set up and exclusions //Set whether the creature can use EffectDisappearAppear when moving SetIsFlier(); if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) ) { //I am probably a summoned creature, possibly a henchman SetAssociateListenPatterns(); } //set voice chat config SetVoiceChat( NO_VC_DEFAULT, 10 ); //configure perception ranges SetPerceptionRanges(); //set response range for fighting broadcast SetResponseRange( BC_FIGHTING, 50.0 ); //tell creature it is ready to act //SetReadyStatus(); //set fastbuffer status, should always be left on SetIsFastBuffer( TRUE ); //SetLocalInt( OBJECT_SELF, "#FASTBUFFER", 1 ); //SetLocalInt( OBJECT_SELF, "#ACTIVE", 1 ); //log starting location ExecuteScript( "no_scr_logspnloc", OBJECT_SELF ); //log loaded melee weapons ExecuteScript( "no_scr_logeq", OBJECT_SELF ); // OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); // This causes the creature to say a special greeting in their conversation file // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired // greeting in order to designate it. As the creature is actually saying this to // himself, don't attach any player responses to the greeting. //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); // This will set the listening pattern on the NPC to attack when allies call //SetSpawnInCondition(NW_FLAG_STEALTH); // If the NPC has stealth and they are a rogue go into stealth mode //SetSpawnInCondition(NW_FLAG_SEARCH); // If the NPC has Search go into Search Mode //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); // This will set the NPC to give a warning to non-enemies before attacking //SetSpawnInCondition(NW_FLAG_SLEEP); //Creatures that spawn in during the night will be asleep. //SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING); //SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION); //SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS); //SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS); SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED); SetAnimationCondition(NW_ANIM_FLAG_CONSTANT); //SetAnimationCondition(NW_ANIM_FLAG_CHATTER); SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE); //This will play Ambient Animations until the NPC sees an enemy or is cleared. //NOTE that these animations will play automatically for Encounter Creatures. // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) // CUSTOM USER DEFINED EVENTS /* The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined events user 1000 - 1010 */ //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after // combat. CTG_GenerateNPCTreasure(TREASURE_TYPE_MONSTER, OBJECT_SELF); //* Use this to create a small amount of treasure on the creature //FIGHT_OR_FLIGHT: Added a comment-out feature to set a local //int on creatures to signal FIGHT_OR_FLIGHT. Disable this //function by commenting it out. Only affects non-undead, //non-dominated creatures with int > 5, CR or HD < 5, and //no fear-specific feats. //ExecuteScript("fof_set",OBJECT_SELF); //FIGHT_OR_FLIGHT:: A comment-in feature for leaders, works with //the morale system. Creatures fleeing will look for a leader in //range, then rally to him. If no leader and no other rallying //point, they will run away rather willy-nilly. //SetLocalInt(OBJECT_SELF,"I_AM_A_LEADER",1); ExecuteScript("ss_treasure",OBJECT_SELF); DelayCommand(2.5,ExecuteScript("ss_treas_auto_on",OBJECT_SELF)); // if a creature and set to toss load up the variables. if (GetObjectType(OBJECT_SELF) == OBJECT_TYPE_CREATURE) { if(GetLocalInt(OBJECT_SELF,"ss_t_toss") > 0) DelayCommand(0.3,ExecuteScript("ss_treas_loot1",OBJECT_SELF)); } }