Esempio n. 1
0
    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");
            }
        }
    }
Esempio n. 2
0
    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;
        }
    }
Esempio n. 3
0
    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;
        }
    }
Esempio n. 4
0
    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);
        }
    }
Esempio n. 10
0
    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;
            }
        }
    }