Example #1
0
    public void ResolveMelee()
    {
        Melee.Target attackerTarget = ((Melee)_attackerActions[0].Action).MeleeTarget;
        Melee.Target defenderTarget = ((Melee)_defenderActions[0].Action).MeleeTarget;

        Outcome outcome = _resolver.GetOutcome(attackerTarget, defenderTarget);

        DoApplyTurnOutcome(outcome, _attackerActions[0], _defenderActions[0]);
    }
Example #2
0
        public Outcome GetOutcome(Melee.Target attackerTarget, Melee.Target defenderTarget)
        {
            MeleeAttack found = MeleeAttacks.Find((MeleeAttack meleeAttack) =>
            {
                return(meleeAttack.Attacks == attackerTarget);
            });

            return(found.GetOutcome(defenderTarget));
        }
Example #3
0
    private void CreateMelee(Melee.Target meleeTarget, Sprite meleeSprite, float offset)
    {
        Melee newMelee = Instantiate(_meleePrefab);

        newMelee.OnActivate        += OnCardChosen;
        newMelee.transform.position = _meleePosition.position + new Vector3(offset, 0, 0);
        newMelee.transform.SetParent(transform);
        newMelee.Initialize(meleeSprite, meleeTarget, _meleeBaseDamage, _meleeBaseStaminaCost);
        _meleeActions.Add(newMelee);
    }
Example #4
0
        public Outcome GetOutcome(Melee.Target defenderTarget)
        {
            if (defenderTarget == GetsParriedBy)
            {
                return(Outcome.Parry);
            }
            else
            {
                foreach (Melee.Target target in GetsHitOn)
                {
                    if (defenderTarget == target)
                    {
                        return(Outcome.Hit);
                    }
                }
            }

            return(Outcome.Defend);
        }