public void ProcessDamage(int damage)
        {
            int damageToApply = damage * damageMultiplier;

            if (npcMaster == null)
            {
                npcMaster = transform.root.GetComponent <NPC_Master>();
            }
            npcMaster.CallEventNpcDeductHealth(damageToApply);
        }
        //private void OnDrawGizmos()
        //{
        //    Gizmos.DrawSphere(gameObject.transform.position, .5f);
        //}

        void SphereCastAbove()
        {
            Collider[] colliders = Physics.OverlapSphere(head.transform.position, .5f);
            Collider   collider  = Array.Find(colliders, col => col.tag == GameManager_References._playerTag);

            if (collider != null)
            {
                npcMaster.CallEventNpcDeductHealth(damageToApply);
                onHold = true;
                StartCoroutine(ToggleOnHold());
            }
        }
Beispiel #3
0
        void OnTriggerEnter(Collider other)
        {
            if (other.GetComponent <Rigidbody>() != null)
            {
                rigidbodyStrikingMe = other.GetComponent <Rigidbody>();

                if (rigidbodyStrikingMe.mass >= massRequirement &&
                    rigidbodyStrikingMe.velocity.sqrMagnitude >= speedRequirement * speedRequirement)
                {
                    damageToApply = (int)(rigidbodyStrikingMe.mass * rigidbodyStrikingMe.velocity.magnitude * damageFactor);
                    npcMaster.CallEventNpcDeductHealth(damageToApply);
                }
            }
        }