Example #1
0
    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);
        }
    }
Example #2
0
    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);
        }
    }