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