Ejemplo n.º 1
0
    public IEnumerator KnocbackCharacter(Character_Physics character, Vector3 direction, float knocbackForce, float knocbackLength)
    {
        character.AddOutsideForce(direction, knocbackForce);

        yield return(new WaitForSeconds(knocbackLength));

        character.ResetOutsideImpact();
    }
Ejemplo n.º 2
0
    public override void Cast()
    {
        Health            targetHealth;
        Character_Physics target = characterCombat.GetCombatCharacterComponents(abilityDistance, out targetHealth);

        if (target != null && characterPhysics.currentGravityState == GravityState.Grounded)
        {
            StartCoroutine(characterPhysics.PauseGroundCheck());
            StartCoroutine(target.PauseGroundCheck());
            target.SetMovementImpairingEffect(MovementImpairingEffect.Immobilization);
            target.currentGravityState           = GravityState.InAir;
            characterPhysics.currentGravityState = GravityState.InAir;

            characterPhysics.AddForce(Vector3.up, 80f);
            target.AddOutsideForce(Vector3.up, 80f);
            targetHealth.DecreaseHealth(damage.GetAmount() * 2f);
        }
    }