Esempio n. 1
0
    private void OnCollisionEnter(Collision collision)
    {
        var rigidbody = collision.rigidbody;

        if (rigidbody == null)
        {
            return;
        }

        CharacterSheet entering = rigidbody.GetComponent <CharacterSheet>();

        if (entering != null)
        {
            if (onEnter)
            {
                entering.LandAttack(enterDamage.baseValue, collision.GetContact(0).point,
                                    null, heft, out _);
            }

            if (onStay)
            {
                entering.AddEffect(stayDebuff);
            }
        }
    }
Esempio n. 2
0
    private IEnumerator StaggerRoutine(int triggerId, WaitForSeconds stunDuration)
    {
        if (lastAbility != null)
        {
            lastAbility.ForceEndUse();
        }

        animator.SetTrigger(triggerId);
        characterSheet.AddEffect(staggerEffect);
        IsStaggered = true;
        yield return(stunDuration);

        ResetStagger();
    }