private IEnumerator Attacking()
    {
        float atAttack = -coolTime;

        while (true)
        {
            yield return(new WaitForEndOfFrame());

            if (Time.time < atAttack + coolTime)
            {
                continue;
            }

            Character target = GetSkillTarget();
            if (target == null)
            {
                continue;
            }

            animator.Attack();
            if (targettingSkill)
            {
                skill.Active(target, OnAttack, OnKill);
            }
            else
            {
                skill.Active(enemyTags, OnAttack, OnKill);
            }

            atAttack = Time.time;
        }
    }
Пример #2
0
    IEnumerator DoDamage(CharacterStats stats, float delay)
    {
        characterAnimator.Attack();
        yield return(new WaitForSeconds(delay));

        OnAttack = false;
        // nik pdt anim
        characterAnimator.StopAttacking();
    }
Пример #3
0
 void AttackPrey()
 {
     if (Time.time - attackTimeStamp >= attackInterval)
     {
         characterAnimator.Attack();
         attackTimeStamp = Time.time;
         //attack
     }
 }
Пример #4
0
    /// <summary>
    /// A swing and a... miss.
    /// </summary>
    public bool Attack()
    {
        if (!characterAnimator.Attack())
        {
            return(false);
        }

        // TODO: Create temporary attack blacklist to avoid double hit

        return(true);
    }
Пример #5
0
    void GetAttackInput()
    {
        if (Input.GetButtonDown("Attack" + playerNr.ToString()))
        {
            if (gameObject.name == "Frodo")
            {
                staminaScript.LoseStamina(AttackCost);
            }

            characterAnimator.Attack();
        }
    }
Пример #6
0
    /// <summary>
    /// Makes the character attack.
    /// </summary>
    public void Attack()
    {
        if (!canAttack)
        {
            return;
        }

        animator.Attack();

        canAttack = false;
        Chrono.Instance.After(0.5f, () =>
        {
            canAttack = true;
        });
    }
Пример #7
0
        private void Update()
        {
            if (Input.GetKeyDown(KeyCode.F))
            {
                CanvasSettings.ToggleInventoryMenu(ConnectedCharacters.MyPlayer, "INVENTORY");
            }

            if (Input.GetKeyDown(KeyCode.Escape))
            {
                CanvasSettings.TogglePauseMenu();
            }

            if (Input.GetButtonDown("Fire1") && !_characterAnimator.Attacking)
            {
                NetworkSend.Reliable("ATK|");
                _characterAnimator.Attack();
            }

            if (!_characterAnimator.Attacking)
            {
                CanHit = true;
            }
        }
Пример #8
0
 public override void Attack(RpcArgs args)
 {
     characterAnimator.Attack();
 }