//:://///////////////////////////////////////////// //:: burrow_onspawn.nss //:: Copyright (c) 2001 Bioware Corp. //::////////////////////////////////////////////// /* OnSpawnIn, sets up scorpions to teleport during combat (requires scorp_onuserdef in the user defined event slot for the creature) */ //::////////////////////////////////////////////// //:: Created By: //:: Created On: //:: Modified By: Luna_C on 5/24/2003 for Scorpions Demo v1.0 //::////////////////////////////////////////////// #include "NW_I0_GENERIC" #include "ms_name_inc" #include "x2_inc_switches" void ShrinkEm(object oPC) { SetObjectVisualTransform(oPC, OBJECT_VISUAL_TRANSFORM_SCALE, 0.5f); } void main() { int nGetIsDay = GetIsDay(); // User defined OnSpawn event requested? int nSpecEvent = GetLocalInt(OBJECT_SELF,"X2_USERDEFINED_ONSPAWN_EVENTS"); //:: Sets a random integer on the creature to use with other spell functions string sImmune = GetName(OBJECT_SELF)+"_AURA_IMMUNE"; int nRandomSeed = Random(999); SetLocalInt(OBJECT_SELF, sImmune, nRandomSeed); //:: Creature will quickly & automatically buff itself up with any defensive //:: spells it has memorized. int nAutobuff = GetLocalInt(OBJECT_SELF,"AUTOBUFF"); if (nAutobuff > 0 ) { SetSpawnInCondition(NW_FLAG_FAST_BUFF_ENEMY); } //:: Creature will flee those that close within 7m if they are not friends, //:: Rangers or Druids. int nHerbivore = GetLocalInt(OBJECT_SELF,"CREATURE_VAR_HERBIVORE"); if (nHerbivore > 0 ) { SetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL); SetBehaviorState(NW_FLAG_BEHAVIOR_HERBIVORE); } //:: Creature will only attack those that close within 5m and are not friends, //:: Rangers or Druids. int nOmnivore = GetLocalInt(OBJECT_SELF,"CREATURE_VAR_OMNIVORE"); if (nOmnivore > 0 ) { SetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL); SetBehaviorState(NW_FLAG_BEHAVIOR_OMNIVORE); } int nOLM = GetLocalInt(OBJECT_SELF,"OLM"); if (nOLM > 0) { DelayCommand(0.0f, ShrinkEm(OBJECT_SELF)); effect eSlow = EffectMovementSpeedDecrease(50); eSlow = SupernaturalEffect(eSlow); eSlow = ExtraordinaryEffect(eSlow); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eSlow,OBJECT_SELF)); } int nNoStun = GetLocalInt(OBJECT_SELF,"NOSTUN"); if (nNoStun > 0) { effect eNoStun = EffectImmunity(IMMUNITY_TYPE_STUN); eNoStun = SupernaturalEffect(eNoStun); eNoStun = ExtraordinaryEffect(eNoStun); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eNoStun,OBJECT_SELF)); } int nNatInvis = GetLocalInt(OBJECT_SELF,"NATURAL_INVIS"); if (nNatInvis > 0) { effect eNatInvis = EffectInvisibility(4); eNatInvis = SupernaturalEffect(eNatInvis); eNatInvis = ExtraordinaryEffect(eNatInvis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eNatInvis,OBJECT_SELF)); } int nNoSleep = GetLocalInt(OBJECT_SELF,"NOSLEEP"); if (nNoSleep > 0) { effect eNoSleep = EffectImmunity(IMMUNITY_TYPE_SLEEP); eNoSleep = SupernaturalEffect(eNoSleep); eNoSleep = ExtraordinaryEffect(eNoSleep); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eNoSleep,OBJECT_SELF)); } int nNoDaze = GetLocalInt(OBJECT_SELF,"NODAZE"); if (nNoDaze > 0) { effect eNoDaze = EffectImmunity(IMMUNITY_TYPE_DAZED); eNoDaze = SupernaturalEffect(eNoDaze); eNoDaze = ExtraordinaryEffect(eNoDaze); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eNoDaze,OBJECT_SELF)); } int nNoBlind = GetLocalInt(OBJECT_SELF,"NOBLIND"); if (nNoBlind > 0) { effect eNoBlind = EffectImmunity(IMMUNITY_TYPE_BLINDNESS); eNoBlind = SupernaturalEffect(eNoBlind); eNoBlind = ExtraordinaryEffect(eNoBlind); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eNoBlind,OBJECT_SELF)); } int nNoDeaf = GetLocalInt(OBJECT_SELF,"NODEAF"); if (nNoDeaf > 0) { effect eNoDeaf = EffectImmunity(IMMUNITY_TYPE_DEAFNESS); eNoDeaf = SupernaturalEffect(eNoDeaf); eNoDeaf = ExtraordinaryEffect(eNoDeaf); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eNoDeaf,OBJECT_SELF)); } int nDeaf = GetLocalInt(OBJECT_SELF,"IS_DEAF"); if (nDeaf > 0) { effect eDeaf = EffectDeaf(); eDeaf = SupernaturalEffect(eDeaf); eDeaf = ExtraordinaryEffect(eDeaf); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eDeaf,OBJECT_SELF)); } //:: Fix for the new golems to reduce their number of attacks. int nNumber = GetLocalInt(OBJECT_SELF,"CREATURE_VAR_NUMBER_OF_ATTACKS"); if (nNumber > 0 ) { SetBaseAttackBonus(nNumber); } int nVFX = GetLocalInt(OBJECT_SELF,"SpawnVFX"); if(nVFX) { ApplyEffectToObject(DURATION_TYPE_PERMANENT,SupernaturalEffect(EffectVisualEffect(nVFX)),OBJECT_SELF); } int nRegen = GetLocalInt(OBJECT_SELF,"FAST_HEALING"); if(nRegen) { effect eRegen = EffectRegenerate(nRegen, 6.0f); eRegen = SupernaturalEffect(eRegen); eRegen = ExtraordinaryEffect(eRegen); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eRegen, OBJECT_SELF)); } int nShadowy = GetLocalInt(OBJECT_SELF,"SHADOWY"); if (nShadowy) { effect eVis = EffectVisualEffect(VFX_DUR_PROT_SHADOW_ARMOR); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } int nStony = GetLocalInt(OBJECT_SELF,"STONY"); if (nStony) { effect eVis = EffectVisualEffect(VFX_DUR_PROT_STONESKIN); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } int nFirey = GetLocalInt(OBJECT_SELF,"FIREY"); if (nFirey) { effect eVis = EffectVisualEffect(VFX_DUR_INFERNO_NO_SOUND); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } int nWoody = GetLocalInt(OBJECT_SELF,"WOODY"); if (nWoody) { effect eVis = EffectVisualEffect(VFX_DUR_PROT_BARKSKIN); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } if(nGetIsDay) { int nShadowCamo = GetLocalInt(OBJECT_SELF,"SHADOWCAMO"); if (nShadowCamo) { effect eVis = EffectVisualEffect(VFX_DUR_BLUR ); effect eConceal = EffectConcealment(40, 0); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } } int nConcealed20 = GetLocalInt(OBJECT_SELF,"CONCEALED20"); if (nConcealed20) { effect eVis = EffectVisualEffect(VFX_DUR_BLUR ); effect eConceal = EffectConcealment(20, 0); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } int nConcealed40 = GetLocalInt(OBJECT_SELF,"CONCEALED40"); if (nConcealed40) { effect eVis = EffectVisualEffect(VFX_DUR_BLUR ); effect eConceal = EffectConcealment(40, 0); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } int nConcealed50 = GetLocalInt(OBJECT_SELF,"CONCEALED50"); if (nConcealed50) { effect eVis = EffectVisualEffect(VFX_DUR_BLUR ); effect eConceal = EffectConcealment(50, 0); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } int nIcy = GetLocalInt(OBJECT_SELF,"ICY"); if (nIcy) { effect eVis = EffectVisualEffect(VFX_DUR_ICESKIN); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } int nSR = GetLocalInt(OBJECT_SELF,"SPELL_RESISTANCE"); if ( nSR ) { effect eSR = EffectSpellResistanceIncrease(nSR); eSR = SupernaturalEffect(eSR); eSR = ExtraordinaryEffect(eSR); ApplyEffectToObject(DURATION_TYPE_PERMANENT,eSR,OBJECT_SELF); } int nAttackBonus = GetLocalInt(OBJECT_SELF,"ATTACK_BONUS"); if ( nAttackBonus ) { effect eAttack = EffectAttackIncrease(nAttackBonus); eAttack = SupernaturalEffect(eAttack); eAttack = ExtraordinaryEffect(eAttack); ApplyEffectToObject(DURATION_TYPE_PERMANENT,eAttack,OBJECT_SELF); } int nAcidShield = GetLocalInt(OBJECT_SELF,"ACID_SHIELD"); if ( nAcidShield ) { effect eShield = EffectDamageShield(0,DAMAGE_BONUS_1d8,DAMAGE_TYPE_ACID); eShield = SupernaturalEffect(eShield); eShield = ExtraordinaryEffect(eShield); ApplyEffectToObject(DURATION_TYPE_PERMANENT,eShield,OBJECT_SELF); } int nSerratedEdge = GetLocalInt(OBJECT_SELF,"SERRATED_EDGE"); if ( nSerratedEdge ) { effect eShield = EffectDamageShield(0,DAMAGE_BONUS_1d6,DAMAGE_TYPE_SLASHING); eShield = SupernaturalEffect(eShield); eShield = ExtraordinaryEffect(eShield); ApplyEffectToObject(DURATION_TYPE_PERMANENT,eShield,OBJECT_SELF); } int nSpikedArmor = GetLocalInt(OBJECT_SELF,"SPIKED_ARMOR"); if ( nSpikedArmor ) { effect eShield = EffectDamageShield(0,DAMAGE_BONUS_1d4,DAMAGE_TYPE_PIERCING); eShield = SupernaturalEffect(eShield); eShield = ExtraordinaryEffect(eShield); ApplyEffectToObject(DURATION_TYPE_PERMANENT,eShield,OBJECT_SELF); } int nGlow = GetLocalInt (OBJECT_SELF,"GLOW_COLOR"); if (nGlow == 1) { effect eVis = EffectVisualEffect(VFX_DUR_GLOW_BLUE); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } else if (nGlow == 2) { effect eVis = EffectVisualEffect(VFX_DUR_GLOW_BROWN); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } else if (nGlow == 3) { effect eVis = EffectVisualEffect(VFX_DUR_GLOW_GREEN); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } else if (nGlow == 4) { effect eVis = EffectVisualEffect(VFX_DUR_GLOW_GREY); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } else if (nGlow == 5) { effect eVis = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_BLUE); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } else if (nGlow == 6) { effect eVis = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_BROWN); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } else if (nGlow == 7) { effect eVis = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_GREEN); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } else if (nGlow == 8) { effect eVis = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_ORANGE); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } else if (nGlow == 9) { effect eVis = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_PURPLE); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } else if (nGlow == 10) { effect eVis = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_RED); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } else if (nGlow == 11) { effect eVis = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_YELLOW); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } else if (nGlow == 12) { effect eVis = EffectVisualEffect(VFX_DUR_GLOW_ORANGE); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } else if (nGlow == 13) { effect eVis = EffectVisualEffect(VFX_DUR_GLOW_PURPLE); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } else if (nGlow == 14) { effect eVis = EffectVisualEffect(VFX_DUR_GLOW_RED); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } else if (nGlow == 15) { effect eVis = EffectVisualEffect(VFX_DUR_GLOW_WHITE); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } else if (nGlow == 16) { effect eVis = EffectVisualEffect(VFX_DUR_GLOW_YELLOW); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } else if (nGlow == 17) { effect eVis = EffectVisualEffect(VFX_DUR_AURA_GREEN_DARK); eVis = SupernaturalEffect(eVis); eVis = ExtraordinaryEffect(eVis); DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,OBJECT_SELF)); } //:: 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); } if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_USE_SPAWN_STEALTH) == TRUE) { SetSpawnInCondition(NW_FLAG_STEALTH); } if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_USE_SPAWN_SEARCH) == TRUE) { SetSpawnInCondition(NW_FLAG_SEARCH); } if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_USE_SPAWN_AMBIENT_IMMOBILE) == TRUE) { SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS); } if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_USE_SPAWN_AMBIENT) == TRUE) { SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS); } //modify to try fix on Various Aura effects. //NC:EDIT int nAtropal = GetTag(OBJECT_SELF)=="ATROPAL001" ? TRUE : FALSE; if(nAtropal)ExecuteScript("atropal_aura",OBJECT_SELF); int nCryptChanter = GetTag(OBJECT_SELF)=="CRYPTCHANTER001" ? TRUE : FALSE; if(nCryptChanter)ExecuteScript("DrainingMelody",OBJECT_SELF); int nNWalker = GetTag(OBJECT_SELF)=="NIGHTWALKER001" ? TRUE : FALSE; if(nNWalker)ExecuteScript("desecrating_aura",OBJECT_SELF); int nNCrawler = GetTag(OBJECT_SELF)=="Nightcrawler" ? TRUE : FALSE; if(nNCrawler)ExecuteScript("desecrating_aura",OBJECT_SELF); int nVoidWraith = GetTag(OBJECT_SELF)=="VOIDWRAITH001" ? TRUE : FALSE; if(nVoidWraith)ExecuteScript("airlessaura",OBJECT_SELF); int AtropalScion = GetTag(OBJECT_SELF)=="ATROPALSCION001" ? TRUE : FALSE; if(AtropalScion)ExecuteScript("neaura",OBJECT_SELF); int nGhast1 = GetTag(OBJECT_SELF)=="GHAST001" ? TRUE : FALSE; if(nGhast1)ExecuteScript("ghast_stench",OBJECT_SELF); int nGhast2 = GetTag(OBJECT_SELF)=="GHAST002" ? TRUE : FALSE; if(nGhast2)ExecuteScript("ghast_stench",OBJECT_SELF); int nGhast3 = GetTag(OBJECT_SELF)=="GHAST003" ? TRUE : FALSE; if(nGhast3)ExecuteScript("ghast_stench",OBJECT_SELF); int nTliz = GetTag(OBJECT_SELF)=="TLIZ001" ? TRUE : FALSE; if(nTliz)ExecuteScript("tliz_aura",OBJECT_SELF); int nDecay = GetTag(OBJECT_SELF)=="ANGELOFDECAY001" ? TRUE : FALSE; if(nDecay)ExecuteScript("rotura",OBJECT_SELF); // Execute default OnSpawn script. ExecuteScript("nw_c2_default9", OBJECT_SELF); ExecuteScript("prc_npc_spawn", OBJECT_SELF); ExecuteScript("prc_pwonspawn", OBJECT_SELF); ms_Nomenclature(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_APPEAR_SPAWN_IN_ANIMATION); //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); // This will set the NPC to give a warning to non-enemies before attacking SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS); //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_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 // DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) ***************************************************************************************** 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. }