示例#1
0
        private void LaneJungClear()
        {
            var minionObj = MinionManager.GetMinions(Player.Position, SkillQ.Range, MinionTypes.All, MinionTeam.NotAlly).FirstOrDefault();

            if (minionObj == null)
            {
                return;
            }
            if (Config.Item(Name + "useClearE").GetValue <bool>() && SkillE.IsReady())
            {
                if (!Player.HasBuff("JaxCounterStrike", true))
                {
                    if ((Config.Item(Name + "useClearQ").GetValue <bool>() && SkillQ.InRange(minionObj.Position) && SkillQ.IsReady()) || SkillE.InRange(minionObj.Position))
                    {
                        SkillE.Cast(PacketCast);
                    }
                }
                else if (SkillE.InRange(minionObj.Position) && !minionObj.IsValidTarget(SkillE.Range - 3.5f))
                {
                    SkillE.Cast(PacketCast);
                }
            }
            if (Config.Item(Name + "useClearQ").GetValue <bool>() && SkillQ.IsReady() && SkillQ.InRange(minionObj.Position))
            {
                if ((Config.Item(Name + "useClearE").GetValue <bool>() && SkillE.IsReady() && Player.HasBuff("JaxCounterStrike", true) && !SkillE.InRange(minionObj.Position)) || (!LXOrbwalker.InAutoAttackRange(minionObj) && Player.Distance(minionObj) > 425))
                {
                    SkillQ.CastOnUnit(minionObj, PacketCast);
                }
            }
        }
示例#2
0
 private void Harass()
 {
     if (targetObj == null)
     {
         return;
     }
     if (Config.Item(Name + "useHarW").GetValue <bool>() && SkillW.IsReady())
     {
         if (Config.Item(Name + "useHarQ").GetValue <bool>() && SkillQ.InRange(targetObj.Position) && SkillQ.IsReady())
         {
             SkillW.Cast(PacketCast);
         }
     }
     if (Config.Item(Name + "useHarE").GetValue <bool>() && SkillE.IsReady())
     {
         if (!Player.HasBuff("JaxCounterStrike", true))
         {
             if ((Config.Item(Name + "useHarQ").GetValue <bool>() && SkillQ.InRange(targetObj.Position) && SkillQ.IsReady()) || SkillE.InRange(targetObj.Position))
             {
                 SkillE.Cast(PacketCast);
             }
         }
         else if (SkillE.InRange(targetObj.Position) && !targetObj.IsValidTarget(SkillE.Range - 3.5f))
         {
             SkillE.Cast(PacketCast);
         }
     }
     if (Config.Item(Name + "useHarQ").GetValue <bool>() && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position) && Player.Health * 100 / Player.MaxHealth >= Config.Item(Name + "harMode").GetValue <Slider>().Value)
     {
         if ((Config.Item(Name + "useHarE").GetValue <bool>() && SkillE.IsReady() && Player.HasBuff("JaxCounterStrike", true) && !SkillE.InRange(targetObj.Position)) || (!LXOrbwalker.InAutoAttackRange(targetObj) && Player.Distance(targetObj) > 425))
         {
             SkillQ.CastOnUnit(targetObj, PacketCast);
         }
     }
 }
示例#3
0
 private void LaneJungClear()
 {
     foreach (var Obj in ObjectManager.Get <Obj_AI_Minion>().Where(i => IsValid(i, SkillQ.Range)).OrderBy(i => i.Health))
     {
         if (SmiteReady() && Obj.Team == GameObjectTeam.Neutral)
         {
             if ((ItemBool("SmiteMob", "Baron") && Obj.Name.StartsWith("SRU_Baron")) || (ItemBool("SmiteMob", "Dragon") && Obj.Name.StartsWith("SRU_Dragon")) || (!Obj.Name.Contains("Mini") && (
                                                                                                                                                                      (ItemBool("SmiteMob", "Red") && Obj.Name.StartsWith("SRU_Red")) || (ItemBool("SmiteMob", "Blue") && Obj.Name.StartsWith("SRU_Blue")) ||
                                                                                                                                                                      (ItemBool("SmiteMob", "Krug") && Obj.Name.StartsWith("SRU_Krug")) || (ItemBool("SmiteMob", "Gromp") && Obj.Name.StartsWith("SRU_Gromp")) ||
                                                                                                                                                                      (ItemBool("SmiteMob", "Raptor") && Obj.Name.StartsWith("SRU_Razorbeak")) || (ItemBool("SmiteMob", "Wolf") && Obj.Name.StartsWith("SRU_Murkwolf")))))
             {
                 CastSmite(Obj);
             }
         }
         if (ItemBool("Clear", "E") && SkillE.IsReady())
         {
             if (!Player.HasBuff("JaxCounterStrike", true))
             {
                 if ((ItemBool("Clear", "Q") && SkillQ.IsReady()) || SkillE.InRange(Obj.Position))
                 {
                     SkillE.Cast(PacketCast());
                 }
             }
             else if (SkillE.InRange(Obj.Position) && !ECasted)
             {
                 SkillE.Cast(PacketCast());
             }
         }
         if (ItemBool("Clear", "Q") && SkillQ.IsReady() && ((ItemBool("Clear", "E") && SkillE.IsReady() && Player.HasBuff("JaxCounterStrike", true) && !SkillE.InRange(Obj.Position)) || (!Orbwalk.InAutoAttackRange(Obj) && Player.Distance3D(Obj) > 450)))
         {
             SkillQ.CastOnUnit(Obj, PacketCast());
         }
     }
 }
示例#4
0
        private void WardJump(Vector3 Pos)
        {
            if (!SkillQ.IsReady())
            {
                return;
            }
            bool IsWard = false;

            foreach (var Obj in ObjectManager.Get <Obj_AI_Base>().Where(i => IsValid(i, SkillQ.Range + i.BoundingRadius, false) && !(i is Obj_AI_Turret) && i.Position.Distance(Pos) < 230).OrderBy(i => i.Position.Distance(Pos)))
            {
                SkillQ.CastOnUnit(Obj, PacketCast());
                if (Obj.Name.EndsWith("Ward") && Obj.IsMinion)
                {
                    IsWard = true;
                }
                else
                {
                    return;
                }
            }
            if (!IsWard && (GetWardSlot() != null || GetWardSlot().Stacks > 0) && !WardCasted)
            {
                GetWardSlot().UseItem(Player.Position.Distance(Pos) > GetWardRange(GetWardSlot().Id) ? Player.Position.To2D().Extend(Pos.To2D(), GetWardRange(GetWardSlot().Id)).To3D() : Pos);
                WardCasted = true;
                Utility.DelayAction.Add(1000, () => WardCasted = false);
            }
        }
示例#5
0
 private void Harass()
 {
     if (targetObj == null)
     {
         return;
     }
     if (ItemBool("Harass", "W") && SkillW.IsReady() && ItemBool("Harass", "Q") && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position))
     {
         SkillW.Cast(PacketCast());
     }
     if (ItemBool("Harass", "E") && SkillE.IsReady())
     {
         if (!Player.HasBuff("JaxCounterStrike", true))
         {
             if ((ItemBool("Harass", "Q") && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position)) || SkillE.InRange(targetObj.Position))
             {
                 SkillE.Cast(PacketCast());
             }
         }
         else if (SkillE.InRange(targetObj.Position) && !IsValid(targetObj, SkillE.Range - 3.5f))
         {
             SkillE.Cast(PacketCast());
         }
     }
     if (ItemBool("Harass", "Q") && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position) && Player.Health * 100 / Player.MaxHealth >= ItemList("Harass", "QAbove"))
     {
         if ((ItemBool("Harass", "E") && SkillE.IsReady() && Player.HasBuff("JaxCounterStrike", true) && !SkillE.InRange(targetObj.Position)) || (!Orbwalk.InAutoAttackRange(targetObj) && Player.Distance3D(targetObj) > 450))
         {
             SkillQ.CastOnUnit(targetObj, PacketCast());
         }
     }
 }
示例#6
0
        private void WardJump(Vector3 Pos)
        {
            if (!SkillQ.IsReady())
            {
                return;
            }
            bool IsWard  = false;
            var  posJump = (Player.Distance(Pos) > SkillQ.Range) ? Player.Position + Vector3.Normalize(Pos - Player.Position) * 600 : Pos;

            foreach (var jumpObj in ObjectManager.Get <Obj_AI_Base>().Where(i => !i.IsMe && i.IsAlly && !(i is Obj_AI_Turret) && i.Distance(Player) <= SkillQ.Range + i.BoundingRadius && i.Distance(posJump) <= 230))
            {
                if (jumpObj.Name.ToLower().Contains("ward"))
                {
                    IsWard = true;
                }
                SkillQ.CastOnUnit(jumpObj, PacketCast);
                if (!jumpObj.Name.ToLower().Contains("ward"))
                {
                    return;
                }
            }
            if (!IsWard && GetWardSlot() != null && !WardCasted)
            {
                GetWardSlot().UseItem(posJump);
                WardCasted = true;
                Utility.DelayAction.Add(1000, () => WardCasted = false);
            }
        }
示例#7
0
        private void LastHit()
        {
            var minionObj = MinionManager.GetMinions(Player.Position, SkillQ.Range, MinionTypes.All, MinionTeam.NotAlly).Where(i => CanKill(i, SkillQ)).OrderByDescending(i => i.Distance(Player)).FirstOrDefault();

            if (minionObj != null && SkillQ.IsReady())
            {
                SkillQ.CastOnUnit(minionObj, PacketCast());
            }
        }
示例#8
0
文件: Shen.cs 项目: 8123772/aiqiang
        private void LastHit()
        {
            var minionObj = MinionManager.GetMinions(Player.Position, SkillQ.Range, MinionTypes.All, MinionTeam.NotAlly).FirstOrDefault(i => CanKill(i, SkillQ));

            if (minionObj != null && SkillQ.IsReady())
            {
                SkillQ.CastOnUnit(minionObj, PacketCast);
            }
        }
示例#9
0
        private void NormalCombo()
        {
            if (targetObj == null)
            {
                return;
            }
            if (Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady())
            {
                if (!Player.HasBuff("JaxCounterStrike", true))
                {
                    if ((Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.InRange(targetObj.Position) && SkillQ.IsReady()) || SkillE.InRange(targetObj.Position))
                    {
                        SkillE.Cast(PacketCast);
                    }
                }
                else if (SkillE.InRange(targetObj.Position) && !targetObj.IsValidTarget(SkillE.Range - 3.5f))
                {
                    SkillE.Cast(PacketCast);
                }
            }
            if (Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position))
            {
                if ((Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && Player.HasBuff("JaxCounterStrike", true) && !SkillE.InRange(targetObj.Position)) || (!LXOrbwalker.InAutoAttackRange(targetObj) && Player.Distance(targetObj) > 425))
                {
                    SkillQ.CastOnUnit(targetObj, PacketCast);
                }
            }
            if (Config.Item(Name + "rusage").GetValue <bool>() && SkillR.IsReady())
            {
                switch (Config.Item(Name + "ruseMode").GetValue <StringList>().SelectedIndex)
                {
                case 0:
                    if (Player.Health * 100 / Player.MaxHealth < Config.Item(Name + "ruseHp").GetValue <Slider>().Value)
                    {
                        SkillR.Cast(PacketCast);
                    }
                    break;

                case 1:
                    if (Player.CountEnemysInRange(600) >= Config.Item(Name + "ruseEnemy").GetValue <Slider>().Value)
                    {
                        SkillR.Cast(PacketCast);
                    }
                    break;
                }
            }
            if (Config.Item(Name + "iusage").GetValue <bool>())
            {
                UseItem(targetObj);
            }
            if (Config.Item(Name + "ignite").GetValue <bool>())
            {
                CastIgnite(targetObj);
            }
        }
示例#10
0
        private void NormalCombo()
        {
            if (targetObj == null)
            {
                return;
            }
            if (ItemBool("Combo", "E") && SkillE.IsReady())
            {
                if (!Player.HasBuff("JaxCounterStrike", true))
                {
                    if ((ItemBool("Combo", "Q") && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position)) || SkillE.InRange(targetObj.Position))
                    {
                        SkillE.Cast(PacketCast());
                    }
                }
                else if (SkillE.InRange(targetObj.Position) && !IsValid(targetObj, SkillE.Range - 3.5f))
                {
                    SkillE.Cast(PacketCast());
                }
            }
            if (ItemBool("Combo", "Q") && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position))
            {
                if ((ItemBool("Combo", "E") && SkillE.IsReady() && Player.HasBuff("JaxCounterStrike", true) && !SkillE.InRange(targetObj.Position)) || (!Orbwalk.InAutoAttackRange(targetObj) && Player.Distance3D(targetObj) > 450))
                {
                    SkillQ.CastOnUnit(targetObj, PacketCast());
                }
            }
            if (ItemBool("Combo", "R") && SkillR.IsReady())
            {
                switch (ItemList("Combo", "RMode"))
                {
                case 0:
                    if (Player.Health * 100 / Player.MaxHealth <= ItemSlider("Combo", "RUnder"))
                    {
                        SkillR.Cast(PacketCast());
                    }
                    break;

                case 1:
                    if (Player.CountEnemysInRange((int)SkillQ.Range) >= ItemSlider("Combo", "RCount"))
                    {
                        SkillR.Cast(PacketCast());
                    }
                    break;
                }
            }
            if (ItemBool("Combo", "Item"))
            {
                UseItem(targetObj);
            }
            if (ItemBool("Combo", "Ignite"))
            {
                CastIgnite(targetObj);
            }
        }
示例#11
0
 private void LastHit()
 {
     if (!ItemBool("Misc", "QLastHit") || !SkillQ.IsReady())
     {
         return;
     }
     foreach (var Obj in ObjectManager.Get <Obj_AI_Minion>().Where(i => IsValid(i, SkillQ.Range) && CanKill(i, SkillQ)).OrderBy(i => i.Health).OrderByDescending(i => i.Distance3D(Player)))
     {
         SkillQ.CastOnUnit(Obj, PacketCast());
     }
 }
示例#12
0
 private void OnCreateObjMinion(GameObject sender, EventArgs args)
 {
     if (sender == null || !sender.IsValid || sender.IsEnemy || Player.IsDead || !SkillQ.IsReady() || !WardCasted)
     {
         return;
     }
     if (Orbwalk.CurrentMode == Orbwalk.Mode.Flee && Player.Distance3D((Obj_AI_Minion)sender) <= SkillQ.Range + sender.BoundingRadius && sender.Name.EndsWith("Ward"))
     {
         SkillQ.CastOnUnit((Obj_AI_Minion)sender, PacketCast());
         return;
     }
 }
示例#13
0
 private void LaneJungClear()
 {
     foreach (var Obj in ObjectManager.Get <Obj_AI_Minion>().Where(i => IsValid(i, SkillQ.Range)).OrderBy(i => i.Health))
     {
         if (ItemBool("Clear", "Q") && SkillQ.IsReady())
         {
             SkillQ.CastOnUnit(Obj, PacketCast());
         }
         if (ItemBool("Clear", "W") && SkillW.IsReady() && Orbwalk.InAutoAttackRange(Obj))
         {
             SkillW.Cast(PacketCast());
         }
     }
 }
示例#14
0
 private void OnPossibleToInterrupt(Obj_AI_Base unit, InterruptableSpell spell)
 {
     if (!Config.Item(Name + "useInterE").GetValue <bool>())
     {
         return;
     }
     if (SkillQ.IsReady() && SkillE.IsReady() && !SkillE.InRange(unit.Position) && unit.IsValidTarget(SkillQ.Range))
     {
         SkillQ.CastOnUnit(unit, PacketCast);
     }
     if (unit.IsValidTarget(SkillE.Range) && SkillE.IsReady())
     {
         SkillE.Cast(PacketCast);
     }
 }
示例#15
0
 private void OnPossibleToInterrupt(Obj_AI_Base unit, InterruptableSpell spell)
 {
     if (!ItemBool("Misc", "EInterrupt"))
     {
         return;
     }
     if (Player.Mana >= SkillQ.Instance.ManaCost + SkillE.Instance.ManaCost && !SkillE.InRange(unit.Position) && IsValid(unit, SkillQ.Range))
     {
         SkillQ.CastOnUnit(unit, PacketCast());
     }
     if (IsValid(unit, SkillE.Range) && SkillE.IsReady())
     {
         SkillE.Cast(PacketCast());
     }
 }
示例#16
0
        private void KillSteal()
        {
            var target = ObjectManager.Get <Obj_AI_Hero>().FirstOrDefault(i => i.IsValidTarget(SkillQ.Range) && i.Health <= SkillQ.GetDamage(i) + GetBonusDmg(i) && i != targetObj);

            if (target != null && Player.Mana >= SkillQ.Instance.ManaCost)
            {
                if (SkillW.IsReady())
                {
                    SkillW.Cast(PacketCast);
                }
                if (SkillQ.IsReady() && Player.HasBuff("JaxEmpowerTwo", true))
                {
                    SkillQ.CastOnUnit(target, PacketCast);
                }
            }
        }
示例#17
0
        private void LaneJungClear()
        {
            var minionObj = MinionManager.GetMinions(Player.Position, SkillQ.Range, MinionTypes.All, MinionTeam.NotAlly).FirstOrDefault();

            if (minionObj == null)
            {
                return;
            }
            if (Config.Item("useClearW").GetValue <bool>() && SkillW.IsReady() && Orbwalk.InAutoAttackRange(minionObj))
            {
                SkillW.Cast();
            }
            if (Config.Item("useClearQ").GetValue <bool>() && SkillQ.IsReady())
            {
                SkillQ.CastOnUnit(minionObj, PacketCast());
            }
        }
示例#18
0
 private void KillSteal()
 {
     if (Player.Mana < SkillQ.Instance.ManaCost + SkillW.Instance.ManaCost)
     {
         return;
     }
     foreach (var Obj in ObjectManager.Get <Obj_AI_Hero>().Where(i => IsValid(i, SkillQ.Range) && i.Health + 5 <= SkillQ.GetDamage(i) + GetBonusDmg(i) && i != targetObj).OrderBy(i => i.Health).OrderByDescending(i => i.Distance3D(Player)))
     {
         if (SkillW.IsReady())
         {
             SkillW.Cast(PacketCast());
         }
         if (SkillQ.IsReady() && Player.HasBuff("JaxEmpowerTwo", true))
         {
             SkillQ.CastOnUnit(Obj, PacketCast());
         }
     }
 }
示例#19
0
 private void Harass()
 {
     if (targetObj == null)
     {
         return;
     }
     if (Config.Item("useHarE").GetValue <bool>())
     {
         if (SkillE.IsReady() && SkillE.InRange(targetObj.Position) && Player.Health * 100 / Player.MaxHealth >= Config.Item("harModeE").GetValue <Slider>().Value)
         {
             SkillE.Cast(targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * 200, PacketCast());
         }
     }
     if (Config.Item("useHarQ").GetValue <bool>() && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position))
     {
         SkillQ.CastOnUnit(targetObj, PacketCast());
     }
 }
示例#20
0
 private void NormalCombo(string Mode)
 {
     if (targetObj == null)
     {
         return;
     }
     if (ItemBool(Mode, "Item") && Mode == "Combo")
     {
         if (Items.CanUseItem(Deathfire) && Player.Distance3D(targetObj) <= 750)
         {
             Items.UseItem(Deathfire, targetObj);
         }
         if (Items.CanUseItem(Blackfire) && Player.Distance3D(targetObj) <= 750)
         {
             Items.UseItem(Blackfire, targetObj);
         }
         if (Items.CanUseItem(Randuin) && Player.CountEnemysInRange(450) >= 1)
         {
             Items.UseItem(Randuin);
         }
     }
     if (ItemBool(Mode, "E") && SkillE.IsReady() && SkillE.InRange(targetObj.Position) && (Mode == "Combo" || Player.HealthPercentage() >= ItemSlider(Mode, "EAbove")))
     {
         SkillE.Cast(Player.Position.To2D().Extend(targetObj.Position.To2D(), targetObj.Distance3D(Player) + 200), PacketCast());
     }
     if (ItemBool(Mode, "Q") && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position))
     {
         SkillQ.CastOnUnit(targetObj, PacketCast());
     }
     if (ItemBool(Mode, "W") && Mode == "Combo" && SkillW.IsReady() && Orbwalk.InAutoAttackRange(targetObj) && Player.HealthPercentage() <= ItemSlider(Mode, "WUnder"))
     {
         SkillW.Cast(PacketCast());
     }
     if (ItemBool(Mode, "Ignite") && Mode == "Combo")
     {
         CastIgnite(targetObj);
     }
 }
示例#21
0
        private void NormalCombo()
        {
            if (targetObj == null)
            {
                return;
            }
            IEnumerable <SpellSlot> ComboQE = new[] { SpellSlot.Q, SpellSlot.E };
            var AADmg = Player.GetAutoAttackDamage(targetObj) + (SkillP.IsReady() ? Player.CalcDamage(targetObj, Damage.DamageType.Magical, 4 + 4 * Player.Level + 0.1 * Player.ScriptHealthBonus) : 0);

            //Game.PrintChat("{0}/{1}", Player.GetAutoAttackDamage(targetObj), 4 + (4 * Player.Level) + (0.1 * Player.ScriptHealthBonus));
            if (targetObj.Health <= Player.GetComboDamage(targetObj, ComboQE) + AADmg)
            {
                if (Config.Item("qusage").GetValue <bool>() && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position) && CanKill(targetObj, SkillQ))
                {
                    SkillQ.CastOnUnit(targetObj, PacketCast());
                }
                else if (Config.Item("qusage").GetValue <bool>() && SkillQ.IsReady() && Config.Item("eusage").GetValue <bool>() && SkillE.IsReady() && targetObj.Health <= Player.GetComboDamage(targetObj, ComboQE) && SkillE.InRange(targetObj.Position))
                {
                    SkillE.Cast(targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * 200, PacketCast());
                    SkillQ.CastOnUnit(targetObj, PacketCast());
                }
                else
                {
                    if (Config.Item("eusage").GetValue <bool>() && SkillE.IsReady() && SkillE.InRange(targetObj.Position))
                    {
                        SkillE.Cast(targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * 200, PacketCast());
                    }
                    if (Config.Item("qusage").GetValue <bool>() && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position))
                    {
                        SkillQ.CastOnUnit(targetObj, PacketCast());
                    }
                }
            }
            else
            {
                if (Config.Item("eusage").GetValue <bool>() && SkillE.IsReady() && SkillE.InRange(targetObj.Position))
                {
                    if (Config.Item("multieusage").GetValue <bool>())
                    {
                        SkillE.Cast(targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * ((CheckingCollision(Player, targetObj, SkillE, false, true).Count >= 1) ? SkillE.Range : 200), PacketCast());
                    }
                    else
                    {
                        SkillE.Cast(targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * 200, PacketCast());
                    }
                }
                if (Config.Item("qusage").GetValue <bool>() && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position))
                {
                    SkillQ.CastOnUnit(targetObj, PacketCast());
                }
            }
            if (Config.Item("wusage").GetValue <bool>() && SkillW.IsReady() && Orbwalk.InAutoAttackRange(targetObj) && Player.Health * 100 / Player.MaxHealth <= Config.Item("autowusage").GetValue <Slider>().Value)
            {
                SkillW.Cast(PacketCast());
            }
            if (Config.Item("iusage").GetValue <bool>() && Items.CanUseItem(Rand) && Player.CountEnemysInRange(450) >= 1)
            {
                Items.UseItem(Rand);
            }
            if (Config.Item("ignite").GetValue <bool>())
            {
                CastIgnite(targetObj);
            }
        }