public void DisengageEnemyNew(GameObject enemy, AttackBase attack)
        {
            CharacterStats component = enemy.GetComponent <CharacterStats>();

            if ((component != null) && !component.ImmuneToEngagement && !IEModOptions.DisableEngagement)             // added && (Mod_GameOptions_GameMode)GameState.Mode).DisableEngagement == 0
            {
                attack.IsDisengagementAttack = true;
                attack.Launch(enemy, -1);
            }
            GameObject owner = this.StateManager.CurrentState.Owner;

            this.m_disengagementTrackers.Add(new DisengagementTracker(enemy, false));
            this.StopEnagagement(enemy);
            if (this.m_stats != null)
            {
                this.m_stats.NotifyEngagementBreak(enemy);
            }
            this.EnemyBreaksEngagement(enemy);
            AIController controller = enemy.GetComponent <AIController>();

            if (controller != null)
            {
                GameEventArgs args = new GameEventArgs
                {
                    Type           = GameEventType.MeleeEngageBroken,
                    GameObjectData = new GameObject[] { owner }
                };
                controller.OnEvent(args);
                controller.EnemyBreaksEngagement(owner);
            }
        }
		public void DisengageEnemyNew(GameObject enemy, AttackBase attack)
		{
            CharacterStats component = enemy.GetComponent<CharacterStats>();
            if ((component != null) && !component.IsImmuneToEngagement && !IEModOptions.DisableEngagement) // added && (Mod_GameOptions_GameMode)GameState.Mode).DisableEngagement == 0
            {
                attack.IsDisengagementAttack = true;
                attack.Launch(enemy, -1);
                UIHealthstringManager.Instance.ShowNotice(GUIUtils.GetText(2150), enemy, 2.5f);
            }
            GameObject owner = this.StateManager.CurrentState.Owner;
            this.m_disengagementTrackers.Add(new AIController.DisengagementTracker(enemy, false));
            this.StopEngagement(enemy);
            if (this.m_stats != null)
            {
                this.m_stats.NotifyEngagementBreak(enemy);
            }
            this.EnemyBreaksEngagement(enemy);
            AIController aIController = enemy.GetComponent<AIController>();
            if (aIController)
            {
                GameEventArgs gameEventArg = new GameEventArgs()
                {
                    Type = GameEventType.MeleeEngageBroken,
                    GameObjectData = new GameObject[] { owner }
                };
                aIController.OnEvent(gameEventArg);
                aIController.EnemyBreaksEngagement(owner);
            }
		}
Example #3
0
        public void DisengageEnemyNew(GameObject enemy, AttackBase attack)
        {
            CharacterStats component = enemy.GetComponent <CharacterStats>();

            if ((component != null) && !component.IsImmuneToEngagement && !IEModOptions.DisableEngagement) // added && (Mod_GameOptions_GameMode)GameState.Mode).DisableEngagement == 0
            {
                attack.IsDisengagementAttack = true;
                attack.Launch(enemy, -1);
                UIHealthstringManager.Instance.ShowNotice(GUIUtils.GetText(2150), enemy, 2.5f);
            }
            GameObject owner = this.StateManager.CurrentState.Owner;

            this.m_disengagementTrackers.Add(new AIController.DisengagementTracker(enemy, false));
            this.StopEngagement(enemy);
            if (this.m_stats != null)
            {
                this.m_stats.NotifyEngagementBreak(enemy);
            }
            this.EnemyBreaksEngagement(enemy);
            AIController aIController = enemy.GetComponent <AIController>();

            if (aIController)
            {
                GameEventArgs gameEventArg = new GameEventArgs()
                {
                    Type           = GameEventType.MeleeEngageBroken,
                    GameObjectData = new GameObject[] { owner }
                };
                aIController.OnEvent(gameEventArg);
                aIController.EnemyBreaksEngagement(owner);
            }
        }
Example #4
0
		public void DisengageEnemyNew(GameObject enemy, AttackBase attack)
		{
			CharacterStats component = enemy.GetComponent<CharacterStats>();
			if ((component != null) && !component.ImmuneToEngagement && !IEModOptions.DisableEngagement) // added && (Mod_GameOptions_GameMode)GameState.Mode).DisableEngagement == 0
			{
				attack.IsDisengagementAttack = true;
				attack.Launch(enemy, -1);
			}
			GameObject owner = this.StateManager.CurrentState.Owner;
			this.m_disengagementTrackers.Add(new DisengagementTracker(enemy, false));
			this.StopEnagagement(enemy);
			if (this.m_stats != null)
			{
				this.m_stats.NotifyEngagementBreak(enemy);
			}
			this.EnemyBreaksEngagement(enemy);
			AIController controller = enemy.GetComponent<AIController>();
			if (controller != null)
			{
				GameEventArgs args = new GameEventArgs {
					Type = GameEventType.MeleeEngageBroken,
					GameObjectData = new GameObject[] { owner }
				};
				controller.OnEvent(args);
				controller.EnemyBreaksEngagement(owner);
			}
		}