Beispiel #1
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        PlayerHitbox playerHitbox = other.GetComponent <PlayerHitbox>();

        if (playerHitbox != null)
        {
            AudioSource.PlayClipAtPoint(ExplosionSfx, transform.position, GameManager.Instance.Volume);
            Instantiate(ExplosionPrefab, transform.position, Quaternion.identity);
            Destroy(gameObject);
            return;
        }

        PlayerHurtbox playerHurtbox = other.GetComponent <PlayerHurtbox>();

        if (playerHurtbox != null)
        {
            playerHurtbox.TakeDamage();
        }

        if (other.gameObject.layer == LayerMask.NameToLayer("Ground"))
        {
            AudioSource.PlayClipAtPoint(SplashSfx, transform.position, GameManager.Instance.Volume);

            _rigidbody.velocity     = Vector2.zero;
            _rigidbody.gravityScale = 0.0f;
            _collider.enabled       = false;

            _animator.SetTrigger(SplashAnimaton);
        }
    }
Beispiel #2
0
    //Basic normal bubble stuff
    void OnTriggerEnter2D(Collider2D col)
    {
        PlayerHurtbox hurtbox = col.gameObject.GetComponent <PlayerHurtbox>();

        if (hurtbox != null)
        {
            hurtbox.TakeDamage(damage);
            hurtbox.TakeHit(0, hitstun, knockbackVector);
            hurtbox.ApplyEffect(this.effect);
        }
    }
Beispiel #3
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        if (!DamagePlayer)
        {
            return;
        }

        PlayerHurtbox playerHurtbox = other.GetComponent <PlayerHurtbox>();

        if (playerHurtbox != null)
        {
            playerHurtbox.TakeDamage();
        }
    }
Beispiel #4
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        PlayerHurtbox playerHurtbox = other.GetComponent <PlayerHurtbox>();

        if (playerHurtbox != null)
        {
            if (IsThief)
            {
                playerHurtbox.Stolen();
            }
            else
            {
                playerHurtbox.TakeDamage();
            }
        }
    }
Beispiel #5
0
    void OnTriggerEnter2D(Collider2D col)
    {
        PlayerHurtbox hurtbox = col.gameObject.GetComponent <PlayerHurtbox>();

        if (hurtbox != null)
        {
            float xDir = this.transform.parent.GetComponent <Rigidbody2D>().velocity.x;
            if (xDir == 0)
            {
                xDir = 1;
            }
            else
            {
                xDir = xDir / Mathf.Abs(xDir);
            }

            Vector2 appliedKnockbackVector = new Vector2(knockbackVector.x * xDir, knockbackVector.y);

            hurtbox.TakeDamage(damage);
            hurtbox.TakeHit(hitlag, hitstun, knockbackVector);
        }
    }
Beispiel #6
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        PlayerHurtbox playerHurtbox = other.GetComponent <PlayerHurtbox>();

        if (playerHurtbox != null)
        {
            playerHurtbox.TakeDamage();
            Destroy(gameObject);
            return;
        }

        PlayerHitbox playerHitbox = other.GetComponent <PlayerHitbox>();

        if (playerHitbox != null && !_canHurtOwner)
        {
            _canHurtOwner         = true;
            _rigidbody2D.velocity = new Vector2(_originalDirection * XSpeedReflect * -1, YSpeedReflect);
            AudioSource.PlayClipAtPoint(ChingSfx, transform.position, GameManager.Instance.Volume);

            return;
        }

        if (_canHurtOwner)
        {
            EnemyHurtbox enemyHurtbox = other.GetComponent <EnemyHurtbox>();
            if (enemyHurtbox != null && enemyHurtbox == _owner)
            {
                enemyHurtbox.TakeDamage(1f);
                Destroy(gameObject);
                return;
            }
        }

        if (other.gameObject.layer == LayerMask.NameToLayer("Ground"))
        {
            AudioSource.PlayClipAtPoint(ChingSfx, transform.position, GameManager.Instance.Volume);
            Destroy(gameObject);
        }
    }