本文整理汇总了C#中Obj_AI_Hero.GetPassiveStatus方法的典型用法代码示例。如果您正苦于以下问题:C# Obj_AI_Hero.GetPassiveStatus方法的具体用法?C# Obj_AI_Hero.GetPassiveStatus怎么用?C# Obj_AI_Hero.GetPassiveStatus使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Obj_AI_Hero
的用法示例。
在下文中一共展示了Obj_AI_Hero.GetPassiveStatus方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetFastDamage
public static float GetFastDamage(Obj_AI_Hero target)
{
//var statuss = target.GetPassiveStatus(0);
//if (statuss.HasPassive)
//{
// return statuss.PassivePredictedPositions.Count() * (float)(GetPassiveDamage(target) + Player.GetAutoAttackDamage(target));
//}
//return 0;
////
float damage = 0;
damage += Q.GetDamage(target);
if (Q.IsReady())
damage += Q.GetDamage(target);
if (R.IsReady())
{
damage += GetUltiDamage(target);
return damage;
}
else
{
var status = target.GetPassiveStatus(0);
if (status.HasPassive)
{
damage += status.PassivePredictedPositions.Count() * (float)(GetPassiveDamage(target) + Player.GetAutoAttackDamage(target));
if (status.PassivePredictedPositions.Count() < 3)
damage += (3 - status.PassivePredictedPositions.Count()) * (float)Player.GetAutoAttackDamage(target);
return damage;
}
else
{
damage += (float)Player.GetAutoAttackDamage(target) * 2;
return damage;
}
}
}
示例2: castQtoPassive
private static bool castQtoPassive(Obj_AI_Hero target, float delay)
{
if (target == null)
return false;
var targetStatus = target.GetPassiveStatus(delay);
if (!targetStatus.HasPassive || targetStatus.PassiveType != PassiveType.NormalPassive)
return false;
if (targetStatus.PassiveType != PassiveType.NormalPassive)
return false;
if (!targetStatus.PassivePredictedPositions.Any())
return false;
var passivepos = targetStatus.PassivePredictedPositions.First();
var poses = GetRadiusPoints(targetStatus.TargetPredictedPosition, passivepos);
var pos = poses.Where(x => x.Distance(Player.Position.To2D()) <= 400 && !x.IsWall())
.OrderBy(x => x.Distance(passivepos)).FirstOrDefault();
if (pos == null || !pos.IsValid())
return false;
Q.Cast(pos);
return true;
}
示例3: getQPassivedelay
private static float getQPassivedelay(Obj_AI_Hero target)
{
if (target == null)
return 0;
PassiveStatus targetStatus;
if (Prediction.GetPrediction(target, 0.25f).UnitPosition.To2D().Distance(Player.Position.To2D())
> Player.Position.To2D().Distance(target.Position.To2D()))
targetStatus = target.GetPassiveStatus(Player.Position.To2D().Distance(target.Position.To2D()) / 1100);
else
targetStatus = target.GetPassiveStatus(0);
if (!targetStatus.HasPassive)
return 0;
if (targetStatus.PassiveType == PassiveType.PrePassive || targetStatus.PassiveType == PassiveType.NormalPassive)
{
if (!targetStatus.PassivePredictedPositions.Any())
return 0;
var pos = targetStatus.PassivePredictedPositions.First();
return Player.Position.To2D().Distance(pos) / 1100 + Game.Ping / 1000;
}
if (targetStatus.PassiveType == PassiveType.UltiPassive)
{
if (!targetStatus.PassivePredictedPositions.Any())
return 0;
var poses = targetStatus.PassivePredictedPositions;
var pos = poses.OrderBy(x => Player.Position.To2D().Distance(x)).First();
return Player.Position.To2D().Distance(pos) / 1100 + Game.Ping / 1000;
}
return 0;
}