public static TraitTarget GetTraitTarget(string param) { if (targets.ContainsKey(param)) { return(targets[param]); } string[] p = param.Split(' '); switch (p[0]) { case "Ska": targets[param] = new SkaTarget(int.Parse(p[1])); break; case "Noble": targets[param] = new NobelTarget(int.Parse(p[1])); break; case "Stun": targets[param] = new StunTarget(int.Parse(p[1])); break; case "Bleed": targets[param] = new BleedTarget(int.Parse(p[1])); break; case "Mark": targets[param] = new MarkTarget(int.Parse(p[1])); break; } return(targets[param]); }
private static void Drawing_OnDraw(EventArgs args) { var DrawMarkShow = Config.GetCircle("标记提醒"); if (Config.GetStringIndex("伤害类型" + Player.ChampionName) == 0) { font.DrawScreenPercent("[雪球] 必须先设置伤害类型,才能正确获取目标", DrawMarkShow.Color, 50, 50); return; } if (MarkTarget != null && DrawMarkShow.Active) { var MarkTargetName = IsCN ? "标记中目标" : "Marked Enemy"; var MarkTargetHealth = IsCN ? "目标血量":"Target Health"; if (MarkTarget.Type == GameObjectType.obj_AI_Hero) { var target = MarkTarget as Obj_AI_Hero; var text = $"{MarkTargetName}:{target.ChampionName.ToCN(IsCN)}({target.Name.ToGBK()})\n" + $"{MarkTargetHealth}:{(int)target.Health}/{(int)target.MaxHealth} ({(int)target.HealthPercent}%)"; font.DrawScreenPercent(text, DrawMarkShow.Color, 50, 60); } else if (MarkTarget.Type == GameObjectType.obj_AI_Minion) { var enemies = MarkTarget.GetEnemiesInRange(500); if (enemies.Count <= 0) { font.DrawScreenPercent("标记中小兵附近没有敌人", DrawMarkShow.Color, 50, 60); } else { var text = IsCN ? $"标记中小兵500码内有{enemies.Count}个敌人\n" : $"{enemies.Count}enemies nearby marked minion\n"; if (enemies.Any(e => e.HealthPercent < 20)) { text += IsCN? "标记中小兵500码内有残血敌人": "Find low health enemy"; foreach (var item in enemies.Where(e => e.HealthPercent < 20)) { text += $"\n{item.ChampionName.ToCN(IsCN)}({item.Name.ToGBK()}) {(int)item.HealthPercent}%"; } font.DrawScreenPercent(text, DrawMarkShow.Color, 50, 60); } } } } var DrawRangeShow = Config.Item("显示范围").GetValue <Circle>(); if (DrawRangeShow.Active && GetSnowBallState() == SnowBallState.Mark) { Render.Circle.DrawCircle(Player.Position, SnowBall.Range, DrawRangeShow.Color, 2); } if (Config.GetBool("小地图显示") && GetSnowBallState() == SnowBallState.Mark) { Utility.DrawCircle(Player.Position, SnowBall.Range, DrawRangeShow.Color, 2, 23, true); } }
public Tactitian() { placedStipulationCard = new MarkTarget(); name = "Tactician"; description = placedStipulationCard.description; image = SpriteBase.mainSpriteBase.arrow; }