Exemple #1
0
        public override List <HexCell> GetTargetsInRange()
        {
            ComboStar passiveAbility  = ParentCharacter.Abilities.OfType <ComboStar>().SingleOrDefault();
            Character targetCharacter = passiveAbility?.ComboCharacter;

            return(targetCharacter == null ? new List <HexCell>() : GetRangeCells().FindAll(c => c.CharacterOnCell == targetCharacter).FindAll(c => c.GetNeighbors(MaxDistanceFromTarget).Any(cc => cc.IsFreeToStand)));
        }
Exemple #2
0
        public void Use(List <HexCell> cells)
        {
            Character target         = cells[0].CharacterOnCell;
            ComboStar passiveAbility = ParentCharacter.Abilities.OfType <ComboStar>().SingleOrDefault();

            if (passiveAbility == null)
            {
                OnFailedUseFinish();
                return;
            }
            if (target != passiveAbility.ComboCharacter)
            {
                passiveAbility.SetNewComboCharacter(target);
            }
            passiveAbility.Combo += 3;
            ParentCharacter.HasFreeAttackUntilEndOfTheTurn = true;
            Finish();
        }