Esempio n. 1
0
    public bool CanAttackTarget(Character target)
    {
        if (!target.IsDead && RegularAttack != null)
        {
            return(RegularAttack.CanAttack(target));
        }

        return(false);
    }
Esempio n. 2
0
    public bool CanReachTarget(Character target)
    {
        if (RegularAttack != null)
        {
            return(RegularAttack.CanReach(target));
        }

        return(false);
    }
Esempio n. 3
0
    public override void _Ready()
    {
        base._Ready();
        PartyMemberOrder = GUIManager.RegisterPlayerCharacter(this);

        weapon = (RegularAttack)GetNodeOrNull("EquippedWeapon");
        SetSelectionCircle(false);

        if (AnimationSet != null)
        {
            Animator.Frames = AnimationSet;
        }
    }
Esempio n. 4
0
    public void Attack(Character target)
    {
        if (target.IsDead)
        {
            AttackTarget = null;
            return;
        }


        var roll   = Stats.Roll(StatType.ACCURACY);
        var damage = Stats.Damage + RegularAttack.Attack();

        CombatLog.Attack(this.CharacterName, target.CharacterName, roll);
        target.ReceiveAttack(roll, damage);
    }