private void OnParticleCollision(GameObject other) { Debug.Log("Particle Collission" + other); bool isGuarding = m_Animator.GetBool("isGuarding"); if (other.tag == "EnemyHitBox" && !isGuarding) { BaseHitBox enemyHitbox = other.GetComponent <BaseHitBox>(); Vector3 direction = enemyHitbox.GetDirection(m_RigidBody); float force = enemyHitbox.m_Damages[0].m_KnockbackForce; float damageAmount = enemyHitbox.m_Damages[0].m_DamageAmount; AddImpact(direction, force); if (damageAmount > m_KnockdownThreshold) { m_Animator.SetBool("isKnockdowned", true); StartCoroutine(RecoverFromKnockdown()); } else { m_Animator.SetTrigger("stagger"); } } }
private void OnTriggerEnter(Collider otherCollider) { Debug.Log("YO YOU HIT SOMETHING WITH UPPERCUT ATTACK" + otherCollider); if (otherCollider.gameObject.tag == "Enemy") { Debug.Log("CHARAGE TIEM " + m_CurrentChargeDuration); m_EnemyRigidBody = otherCollider.gameObject.GetComponent <Rigidbody> (); m_EnemyAIBossController = otherCollider.gameObject.GetComponent <AIBossController> (); Target enemyTarget = otherCollider.gameObject.GetComponent <Target> (); Vector3 direction = m_BaseHitBox.GetDirection(m_EnemyRigidBody); Damage damage = m_BaseHitBox.m_DamageHash["UppercutAttack"]; float force = damage.m_KnockbackForce; direction.y = m_YKnockbackForceOverride; // Time.timeScale = Mathf.Clamp(1 / (m_TimeScaleSlowdown * m_CurrentChargeDuration), .1f, 1); // Time.fixedDeltaTime = 0.02F * Time.timeScale; // Debug.Log("TIMESCALE" + Time.timeScale); m_TimeManager.DoSlowmotion(Mathf.Clamp(1 / (m_TimeScaleSlowdown * m_CurrentChargeDuration), .1f, 1)); m_EnemyAIBossController.m_IsNavMeshAgentUpdating = false; m_EnemyRigidBody.AddForce(direction * force, ForceMode.Impulse); // StartCoroutine(ResetTimeScale()); StartCoroutine(ResetEnemy()); var originalDamageAmount = damage.m_DamageAmount; damage.m_DamageAmount *= m_CurrentChargeDuration; enemyTarget.TakeDamage(damage, transform.position); damage.m_DamageAmount = originalDamageAmount; } }
private void OnTriggerEnter(Collider otherCollider) { Debug.Log("YO YOU HIT SOMETHING WITH SWORD ATTACK" + otherCollider); if (otherCollider.gameObject.tag == "Enemy") { Rigidbody enemyRigidBody = otherCollider.gameObject.GetComponent <Rigidbody>(); Target enemyTarget = otherCollider.gameObject.GetComponent <Target>(); NavMeshAgent enemyNavMeshAgent = otherCollider.gameObject.GetComponent <NavMeshAgent>(); Animator enemyAnimator = otherCollider.gameObject.GetComponent <Animator>(); Vector3 direction = m_BaseHitBox.GetDirection(enemyRigidBody); float force = m_Damage.m_KnockbackForce; // direction.y = Mathf.Floor(m_YKnockbackForceOverride * m_CurrentChargeDuration); // enemyNavMeshAgent.enabled = false; // Time.timeScale = Mathf.Clamp(1 / (m_TimeScaleSlowdown * m_CurrentChargeDuration), .4f, 1); // Debug.Log("TIMESCALE" + Time.timeScale); // StartCoroutine(ResetTimeScale()); enemyRigidBody.AddForce(direction * force, ForceMode.Impulse); // var originalDamageAmount = m_Damage.m_DamageAmount; // m_Damage.m_DamageAmount *= m_CurrentChargeDuration; enemyTarget.TakeDamage(m_Damage); // m_Damage.m_DamageAmount = originalDamageAmount; } }
private void OnTriggerEnter(Collider otherCollider) { Debug.Log("Set IsHurt trigger here and take damage"); bool isGuarding = m_Animator.GetBool("isGuarding"); if (otherCollider.gameObject.tag == "EnemyHitBox" && !isGuarding) { BaseHitBox enemyHitbox = otherCollider.gameObject.GetComponent <BaseHitBox>(); Vector3 direction = enemyHitbox.GetDirection(m_RigidBody); float force = enemyHitbox.m_Damages[0].m_KnockbackForce; float damageAmount = enemyHitbox.m_Damages[0].m_DamageAmount; AddImpact(direction, force); if (damageAmount > m_KnockdownThreshold) { m_Animator.SetBool("isKnockdowned", true); StartCoroutine(RecoverFromKnockdown()); } else { m_Animator.SetTrigger("stagger"); } if (enemyHitbox.m_ShouldDestroyOnCollide) { Destroy(enemyHitbox.transform.gameObject); } } }
private void OnTriggerEnter(Collider otherCollider) { Debug.Log("YO YOU HIT SOMETHING WITH UPPERCUT ATTACK" + otherCollider); if (otherCollider.gameObject.tag == "Enemy") { m_EnemyRigidBody = otherCollider.gameObject.GetComponent <Rigidbody>(); m_EnemyNavMeshAgent = otherCollider.gameObject.GetComponent <NavMeshAgent>(); Target enemyTarget = otherCollider.gameObject.GetComponent <Target>(); Vector3 direction = m_BaseHitBox.GetDirection(m_EnemyRigidBody); Damage damage = m_BaseHitBox.m_Damages[0]; float force = damage.m_KnockbackForce; direction.y = Mathf.Floor(m_YKnockbackForceOverride * m_CurrentChargeDuration); Time.timeScale = Mathf.Clamp(1 / (m_TimeScaleSlowdown * m_CurrentChargeDuration), .4f, 1); Debug.Log("TIMESCALE" + Time.timeScale); m_EnemyRigidBody.isKinematic = false; m_EnemyNavMeshAgent.updatePosition = false; StartCoroutine(ResetTimeScale()); StartCoroutine(ResetEnemy()); m_EnemyRigidBody.AddForce(direction * force, ForceMode.Impulse); var originalDamageAmount = damage.m_DamageAmount; damage.m_DamageAmount *= m_CurrentChargeDuration; enemyTarget.TakeDamage(damage); damage.m_DamageAmount = originalDamageAmount; } }
private void OnParticleCollision(GameObject other) { Debug.Log("Particle Collission" + other); bool isGuarding = m_Animator.GetBool("isGuarding"); if (other.tag == "EnemyHitBox" && !isGuarding) { BaseHitBox enemyHitbox = other.GetComponent <BaseHitBox>(); Vector3 direction = enemyHitbox.GetDirection(m_RigidBody); float force = enemyHitbox.m_Damage.m_KnockbackForce; AddImpact(direction, force); } }
private void OnTriggerEnter(Collider otherCollider) { Debug.Log("Set IsHurt trigger here and take damage"); bool isGuarding = m_Animator.GetBool("isGuarding"); if (otherCollider.gameObject.tag == "EnemyHitBox" && !isGuarding) { BaseHitBox enemyHitbox = otherCollider.gameObject.GetComponent <BaseHitBox>(); Vector3 direction = enemyHitbox.GetDirection(m_RigidBody); float force = enemyHitbox.m_Damage.m_KnockbackForce; AddImpact(direction, force); } }
private void OnTriggerEnter(Collider otherCollider) { if (otherCollider.gameObject.tag == "Enemy") { m_EnemyRigidBody = otherCollider.gameObject.GetComponent <Rigidbody>(); m_EnemyNavMeshAgent = otherCollider.gameObject.GetComponent <NavMeshAgent>(); Target enemyTarget = otherCollider.gameObject.GetComponent <Target>(); Vector3 direction = m_BaseHitBox.GetDirection(m_EnemyRigidBody); float force = m_BaseHitBox.m_DamageHash[m_CurrentComboType.ToString()].m_KnockbackForce; m_EnemyRigidBody.isKinematic = false; m_EnemyNavMeshAgent.enabled = false; StartCoroutine(ResetEnemy()); m_EnemyRigidBody.AddForce(direction * force, ForceMode.Impulse); enemyTarget.TakeDamage(m_Damage); } }
private void OnTriggerEnter(Collider otherCollider) { if (otherCollider.gameObject.tag == "Enemy") { m_CustomCrosshair.SetCrosshairColor(Color.red); m_EnemyAIBossController = otherCollider.gameObject.GetComponent <AIBossController>(); m_EnemyRigidBody = otherCollider.gameObject.GetComponent <Rigidbody>(); Target enemyTarget = otherCollider.gameObject.GetComponent <Target>(); Vector3 direction = m_BaseHitBox.GetDirection(m_EnemyRigidBody); Damage damage = m_BaseHitBox.m_DamageHash[m_CurrentComboType.ToString()]; float force = damage.m_KnockbackForce; m_EnemyAIBossController.m_IsNavMeshAgentUpdating = false; m_EnemyRigidBody.AddForce(direction * force, ForceMode.Impulse); StartCoroutine(ResetEnemy()); enemyTarget.TakeDamage(damage); } }
private void OnTriggerEnter(Collider otherCollider) { Debug.Log("YO YOU HIT SOMETHING WITH SWORD ATTACK" + otherCollider); if (otherCollider.gameObject.tag == "Enemy") { m_EnemyRigidBody = otherCollider.gameObject.GetComponent <Rigidbody>(); m_EnemyNavMeshAgent = otherCollider.gameObject.GetComponent <NavMeshAgent>(); Target enemyTarget = otherCollider.gameObject.GetComponent <Target>(); Vector3 direction = m_BaseHitBox.GetDirection(m_EnemyRigidBody); float force = m_Damage.m_KnockbackForce; m_EnemyRigidBody.isKinematic = false; m_EnemyNavMeshAgent.enabled = false; StartCoroutine(ResetEnemy()); m_EnemyRigidBody.AddForce(direction * force, ForceMode.Impulse); enemyTarget.TakeDamage(m_Damage); } }
private void OnTriggerEnter(Collider otherCollider) { if (otherCollider.gameObject.tag == "Enemy") { m_EnemyRigidBody = otherCollider.gameObject.GetComponent <Rigidbody>(); m_EnemyAIBossController = otherCollider.gameObject.GetComponent <AIBossController>(); Target enemyTarget = otherCollider.gameObject.GetComponent <Target>(); Debug.Log("YO YOU HIT SOMETHING WITH UPPERCUT ATTACK" + !m_BaseHitBox.m_RegisteredHitTargets); if (!m_BaseHitBox.m_RegisteredHitTargets.Contains(enemyTarget)) { Debug.Log("YO YOU HIT SOMETHING WITH UPPERCUT ATTACK" + otherCollider); Vector3 direction = m_BaseHitBox.GetDirection(m_EnemyRigidBody); Damage damage = m_BaseHitBox.m_DamageHash["UppercutAttack"]; float force = damage.m_KnockbackForce; direction.y = Mathf.Floor(m_YKnockbackForceOverride * m_CurrentChargeDuration); Time.timeScale = Mathf.Clamp(1 / (m_TimeScaleSlowdown * m_CurrentChargeDuration), .1f, 1); Debug.Log("TIMESCALE" + Time.timeScale); m_EnemyAIBossController.m_IsNavMeshAgentUpdating = false; StartCoroutine(ResetTimeScale()); StartCoroutine(ResetEnemy()); m_EnemyRigidBody.AddForce(direction * force, ForceMode.Impulse); var originalDamageAmount = damage.m_DamageAmount; damage.m_DamageAmount *= m_CurrentChargeDuration; enemyTarget.TakeDamage(damage); damage.m_DamageAmount = originalDamageAmount; } } }