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); }
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)); } }