public void PerformBattle()
        {
            AutomataApi.UseSameSnapIn(OnTurnStarted);
            AutomataApi.Wait(2);

            var wereNpsClicked = false;

            if (Preferences.Instance.EnableAutoSkill)
            {
                wereNpsClicked = AutoSkill.Execute();

                AutoSkill.ResetNpTimer();
            }

            if (!HasClickedAttack)
            {
                ClickAttack();
            }

            if (Card.CanClickNpCards)
            {
                // We shouldn't do the long wait due to NP spam/danger modes
                // They click on NPs even when not charged
                // So, don't assign wereNpsClicked here
                Card.ClickNpCards();
            }

            Card.ClickCommandCards(5);

            Card.ResetCommandCards();

            AutomataApi.Wait(wereNpsClicked ? 25 : 5);
        }
Exemple #2
0
        public void PerformBattle()
        {
            AutomataApi.UseSameSnapIn(OnTurnStarted);
            AutomataApi.Wait(2);

            var NpsClicked = false;

            if (Preferences.Instance.EnableAutoSkill)
            {
                NpsClicked = AutoSkill.Execute();

                AutoSkill.ResetNpTimer();
            }

            if (!HasClickedAttack)
            {
                ClickAttack();
            }

            if (Card.CanClickNpCards)
            {
                NpsClicked = Card.ClickNpCards();
            }

            Card.ClickCommandCards(5);

            if (Preferences.Instance.UnstableFastSkipDeadAnimation)
            {
                SkipDeathAnimation();
            }

            Card.ResetCommandCards();

            AutomataApi.Wait(NpsClicked ? 25 : 5);
        }
        Dictionary <CardScore, List <int> > GetCommandCards()
        {
            var storagePerPriority = new Dictionary <CardScore, List <int> >();

            AutomataApi.UseSameSnapIn(() =>
            {
                for (var cardSlot = 0; cardSlot < 5; ++cardSlot)
                {
                    var score = GetCardAffinity(Game.BattleCardAffinityRegionArray[cardSlot])
                                | GetCardType(Game.BattleCardTypeRegionArray[cardSlot]);

                    if (!storagePerPriority.ContainsKey(score))
                    {
                        storagePerPriority.Add(score, new List <int>());
                    }

                    storagePerPriority[score].Add(cardSlot);
                }
            });

            return(storagePerPriority);
        }