private void OnTeleport(Obj_AI_Base sender, Teleport.TeleportEventArgs args) { if (sender == null || !sender.IsEnemy || args.Type != TeleportType.Recall) { return; } switch (args.Status) { case TeleportStatus.Abort: case TeleportStatus.Finish: case TeleportStatus.Unknown: if (recallInformation != null && recallInformation.NetworkId == sender.NetworkId) { recallInformation = null; } break; case TeleportStatus.Start: if (recallInformation == null) { recallInformation = new RecallInformation(sender.NetworkId, args.Duration, sender, args.Start); } break; } }
public static int GetCastTime(Vector3 position, RecallInformation information) { return((int)(-(Game.TickCount - (information.Start + information.Duration)) - TravelTime(position))); }
public static bool IsValid(RecallInformation information) { return(MenuConfig.Menu[((Obj_AI_Hero)information.Sender).ChampionName].Enabled && PlayerDamage(information.Sender) > TargetHealth(information.Sender)); }