protected void OnTriggerEnter2D(Collider2D c) { if (c.transform != parent) { if (c.tag == "Monster") { Monster m = c.GetComponent <Monster> (); m.TakeDamage(GetPC().AttackDamage(), parent); if (m.health <= 0f) { m.Death(); } } if (c.gameObject.layer == LayerMask.NameToLayer("Player")) { PlayerControllable pc = c.GetComponent <PlayerControllable> (); if (pc.invulnerable) { return; } float damage = GetPC().AttackDamage(); pc.Damage(damage); pc.KnockBack(((Vector3.right * (c.transform.position.x - transform.position.x)).normalized + Vector3.up).normalized * GetPC().knockback); } Destroy(gameObject); } }
void OnCollisionEnter2D(Collision2D c) { if (c.transform.tag == "Chaser" || c.transform.tag == "Runner") { Vector2 dir = (c.transform.position - transform.position + Vector3.up).normalized; PlayerControllable pc = c.gameObject.GetComponent <PlayerControllable> (); pc.Damage(attackDamage); pc.KnockBack(dir * 10f); } }