示例#1
0
        private static double GetRecallPercent(Recall recall)
        {
            var recallDuration = recall.Duration;
            var cd             = recall.Started + recallDuration - Game.Time;
            var percent        = (cd > 0 && Math.Abs(recallDuration) > float.Epsilon) ? 1f - (cd / recallDuration) : 1f;

            return(percent);
        }
示例#2
0
        private static void BaseUltCalcs(Recall recall)
        {
            var finishedRecall = recall.Started + recall.Duration;
            var spellData      = BaseUltSpells.Find(h => h.Name == Player.CharacterName);
            var timeNeeded     = GetBaseUltTravelTime(spellData.Delay, spellData.Speed);
            var fireTime       = finishedRecall - timeNeeded;
            var spellDmg       = GetBaseUltSpellDamage(spellData, recall.Unit);

            // var collision = GetCollision(spellData.Radius, spellData).Any();
            if (fireTime > Game.Time && fireTime < recall.Started + recall.Duration && recall.Unit.Health < spellDmg &&
                MenuManager.BaseUltMenu["Setttings"]["target" + recall.Unit.CharacterName].GetValue <MenuBool>().Enabled&&
                MenuManager.baseult &&
                !MenuManager.nobaseult)
            {
                BaseUltUnits.Add(new BaseUltUnit(recall.Unit, fireTime, false));
            }
            else if (BaseUltUnits.Any(h => h.Unit.NetworkId == recall.Unit.NetworkId))
            {
                BaseUltUnits.Remove(BaseUltUnits.Find(h => h.Unit.NetworkId == recall.Unit.NetworkId));
            }
        }