/// <summary> /// On Effect Start Replace Brain with Fear Brain. /// </summary> /// <param name="effect"></param> public override void OnEffectStart(GameSpellEffect effect) { var npcTarget = effect.Owner as GameNPC; var fearBrain = new FearBrain(); m_NPCFearBrains.AddOrReplace(npcTarget, fearBrain); npcTarget.AddBrain(fearBrain); fearBrain.Think(); base.OnEffectStart(effect); }
/// <summary> /// On Effect Start Replace Brain with Fear Brain. /// </summary> /// <param name="effect"></param> public override void OnEffectStart(GameSpellEffect effect) { var npcTarget = effect.Owner as GameNPC; var currentBrain = npcTarget.Brain as IOldAggressiveBrain; var friendBrain = new FriendBrain(this); m_NPCFriendBrain.AddOrReplace(npcTarget, friendBrain); npcTarget.AddBrain(friendBrain); friendBrain.Think(); // Prevent Aggro on Effect Expires. currentBrain?.ClearAggroList(); base.OnEffectStart(effect); }