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); } }
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); } }
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); } }