public static int SendEmail(string from, string subject, string body, Kindred.Common.Security.NameEmailPair[] recipients, ITATSystem system, List<string> roles, List<int> facilityIDs)
		{
			Kindred.Common.Email.Email email = new Kindred.Common.Email.Email();
			string emailBody = System.Web.HttpUtility.HtmlDecode(body);

			string[] overrideRecipients = system.OverrideEmail.Split(new char[] { ',', '|' }, StringSplitOptions.RemoveEmptyEntries);
			string[] ownerRecipients = system.OwnerEmail.Split(new char[] { ',', '|' }, StringSplitOptions.RemoveEmptyEntries);

			//Determine actual recipients and whether to add a "debug" or "recipients not found" message to the email body
			if (recipients.Length > 0)
			{
				if (overrideRecipients.Length > 0)
				{
					emailBody = DebugMessage(recipients) + emailBody;
					AddRecipients(email, overrideRecipients);
				}
				else
				{
					AddRecipients(email, recipients);  
				}
			}
			else
			{
				if (overrideRecipients.Length > 0)
				{
                    emailBody = DebugMessage(recipients) + emailBody + RecipientsNotFoundMessage(system, roles, facilityIDs);
					AddRecipients(email, overrideRecipients);
				}
				else
				{
                    emailBody = emailBody + RecipientsNotFoundMessage(system, roles, facilityIDs);
					AddRecipients(email, ownerRecipients);
				}
			}

			if (string.IsNullOrEmpty(email.To))
			{
                emailBody = emailBody + RecipientsNotFoundMessage(system, roles, facilityIDs);
				AddRecipients(email, ownerRecipients);
				if (string.IsNullOrEmpty(email.To))
				{
					throw new Exception("No e-mail recipients were found.   This should not happen, because the OwnerEmail attribute in the System Def XML should contain at least one e-mail address.  Report this issue to Support.");
				}
			}

			email.Subject = subject;
			email.From = from;
			email.Format = Kindred.Common.Email.EmailFormat.Html;
			email.Body = emailBody;
            email.ApplicationName = EmailName(system.Name);
			return email.Send();
		}
		public static string GetEnvironment(Kindred.Common.WebServices.EnvironmentDetectionMode mode)
		{
			switch (mode)
			{
				case Kindred.Common.WebServices.EnvironmentDetectionMode.Machine:
					{
						return GetEnvironmentByMachine();
					}
				case Kindred.Common.WebServices.EnvironmentDetectionMode.User:
					{
						return GetEnvironmentByUser();
					}
			}
			throw new Exception(string.Format("Unrecognized environment detection mode ({0}).", mode));
		}
示例#3
0
        public static void GameOnOnGameLoad()
        {
            enemySpawn = ObjectManager.Get <Obj_SpawnPoint>().FirstOrDefault(x => x.IsEnemy);
            Q          = new Spell(SpellSlot.Q);
            E          = new Spell(SpellSlot.E);
            W          = new Spell(SpellSlot.W);
            R          = new Spell(SpellSlot.R);

            Config = MainMenu.AddMenu("OneKeyToWin AIO", "OneKeyToWin_AIO" + ObjectManager.Player.ChampionName);

            #region MENU ABOUT OKTW

            Config.Add("debug", new CheckBox("Debug", false));
            Config.Add("debugChat", new CheckBox("Debug Chat", false));
            Config.Add("print", new CheckBox("OKTW NEWS in chat"));

            #endregion

            Config.Add("AIOmode", new Slider("AIO mode (0 : Util & Champ | 1 : Only Champ | 2 : Only Util)", 0, 0, 2));
            AIOmode = getSliderItem("AIOmode");

            Config.Add("PredictionMODE", new Slider("Prediction MODE (0 : Common Pred | 1 : OKTW© PREDICTION | 2 : SPrediction | 3 : SDK)", 0, 0, 3));
            Config.Add("HitChance", new Slider("AIO mode (0 : Very High | 1 : High | 2 : Medium)", 0, 0, 2));
            Config.Add("debugPred", new CheckBox("Draw Aiming OKTW© PREDICTION", false));
            Config.Add("harassLaneclear", new CheckBox("Skill-Harass in lane clear"));

            if (getSliderItem("PredictionMODE") == 2)
            {
                SPrediction.Prediction.Initialize(Config);
                SPredictionLoad = true;
            }
            else
            {
                Config.AddLabel("SPREDICTION NOT LOADED");
            }

            if (AIOmode != 2)
            {
                Config.Add("supportMode", new CheckBox("Support Mode", false));
                Config.Add("comboDisableMode", new CheckBox("Disable auto-attack in combo mode", false));
                Config.Add("manaDisable", new CheckBox("Disable mana manager in combo"));
                Config.Add("collAA", new CheckBox("Disable auto-attack if Yasuo wall collision"));

                #region LOAD CHAMPIONS

                switch (Player.ChampionName)
                {
                case "Anivia":
                    PortAIO.Champion.Anivia.Anivia.LoadOKTW();
                    break;

                case "Annie":
                    PortAIO.Champion.Annie.Program.LoadOKTW();
                    break;

                case "Ashe":
                    PortAIO.Champion.Ashe.Program.LoadOKTW();
                    break;

                case "Braum":
                    PortAIO.Champion.Braum.Program.LoadOKTW();
                    break;

                case "Caitlyn":
                    new Caitlyn().LoadOKTW();
                    break;

                case "Ekko":
                    PortAIO.Champion.Ekko.Program.LoadOKTW();
                    break;

                case "Ezreal":
                    Ezreal.LoadOKTW();
                    break;

                case "Graves":
                    Graves.LoadOKTW();
                    break;

                case "Jayce":
                    OneKeyToWin_AIO_Sebby.Champions.Jayce.LoadOKTW();
                    break;

                case "Jinx":
                    Jinx.LoadOKTW();
                    break;

                case "Karthus":
                    Karthus.LoadOKTW();
                    break;

                case "MissFortune":
                    MissFortune.LoadOKTW();
                    break;

                case "Malzahar":
                    Malzahar.LoadOKTW();
                    break;

                case "Orianna":
                    Orianna.LoadOKTW();
                    break;

                case "Sivir":
                    Sivir.LoadOKTW();
                    break;

                case "Twitch":
                    Twitch.LoadOKTW();
                    break;

                case "Syndra":
                    Syndra.LoadOKTW();
                    break;

                case "Velkoz":
                    Velkoz.LoadOKTW();
                    break;

                case "Xerath":
                    Xerath.LoadOKTW();
                    break;

                case "Swain":
                    Swain.LoadOKTW();
                    break;

                case "Urgot":
                    Urgot.LoadOKTW();
                    break;

                case "Ahri":
                    Ahri.LoadOKTW();
                    break;

                case "Thresh":
                    Thresh.LoadOKTW();
                    break;

                case "Brand":
                    Brand.LoadOKTW();
                    break;

                case "Blitzcrank":
                    Blitzcrank.LoadOKTW();
                    break;

                case "Corki":
                    Corki.LoadOKTW();
                    break;

                case "Darius":
                    Darius.LoadOKTW();
                    break;

                case "Evelynn":
                    OneKeyToWin_AIO_Sebby.Champions.Evelynn.LoadOKTW();
                    break;

                case "Jhin":
                    Jhin.LoadOKTW();
                    break;

                case "Kindred":
                    Kindred.LoadOKTW();
                    break;

                case "KogMaw":
                    OneKeyToWin_AIO_Sebby.KogMaw.LoadOKTW();
                    break;

                case "Lux":
                    Lux.LoadOKTW();
                    break;

                case "Morgana":
                    Morgana.LoadOKTW();
                    break;

                case "Quinn":
                    Quinn.LoadOKTW();
                    break;

                case "TwistedFate":
                    OneKeyToWin_AIO_Sebby.Champions.TwistedFate.LoadOKTW();
                    break;
                }
            }

            #endregion

            foreach (var hero in HeroManager.Enemies)
            {
                if (hero.IsEnemy && hero.Team != Player.Team)
                {
                    Enemies.Add(hero);
                    if (IsJungler(hero))
                    {
                        jungler = hero;
                    }
                }
            }

            foreach (var hero in HeroManager.Allies)
            {
                if (hero.IsAlly && hero.Team == Player.Team)
                {
                    Allies.Add(hero);
                }
            }

            if (AIOmode != 1)
            {
                new OKTWward().LoadOKTW();
                new OKTWtracker().LoadOKTW();
            }

            Game.OnUpdate         += OnUpdate;
            Orbwalker.OnPreAttack += Orbwalking_BeforeAttack;
            Drawing.OnDraw        += OnDraw;
        }
		private void BindGrid(Kindred.Common.Controls.KindredGridView grd, List<TermGroup> list)
		{
			grd.DataSource = list;
			grd.DataBind();
		}
		private void SetMoveUpDownButtonEvents(Kindred.Common.Controls.KindredGridView grd, ImageButton upButton, ImageButton downButton)
		{
			int selectedRow = grd.SelectedIndex;
			
			if (selectedRow > 1) //enable move up button
			{
				upButton.ImageUrl = "~/Images/MoveUp.gif";
				upButton.Enabled = true;
				upButton.Style["cursor"] = "pointer";
				upButton.CommandArgument = "up";
			}
			else
			{
				upButton.ImageUrl = "~/Images/MoveUpDisabled.gif";
				upButton.Enabled = false;
				upButton.Style["cursor"] = "default";
			}

			if (selectedRow > 0 && selectedRow < grd.Rows.Count - 1)
			{
				downButton.ImageUrl = "~/Images/MoveDown.gif";
				downButton.Enabled = true;
				downButton.Style["cursor"] = "pointer";
				downButton.CommandArgument = "down";
			}
			else
			{
				downButton.ImageUrl = "~/Images/MoveDownDisabled.gif";
				downButton.Enabled = false;
				downButton.Style["cursor"] = "default";
			}
		}
		private static void AddRecipients(Kindred.Common.Email.Email email, Kindred.Common.Security.NameEmailPair[] recipients)
		{
			for (int i = 0; i < recipients.Length; i++)
				if (!string.IsNullOrEmpty(recipients[i].Email))
					email.AddTo(recipients[i].Email);
		}
		private static void AddRecipients(Kindred.Common.Email.Email email, string[] addresses)
		{
			for (int i = 0; i < addresses.Length; i++)
				email.AddTo(addresses[i]);
		}
		private static string DebugMessage(Kindred.Common.Security.NameEmailPair[] recipients)
		{
			System.Text.StringBuilder sb = new System.Text.StringBuilder("<p><b>This is a test message.  If this were a real message it would be sent to the following recipients:</b></p>");
			for (int i = 0; i < recipients.Length; i++)
				sb.AppendFormat("<br /><b>{0} ({1})</b>", recipients[i].Email, recipients[i].Name);
			sb.Append("<p /><p />");
			return sb.ToString();
		}
示例#9
0
        public override void Execute()
        {
            var availableSpells = SpellManager.Spells.Where(spell => spell.IsReady() && spell.IsEnabled(Orbwalker.ActiveModes.Combo)).ToArray();

            if (availableSpells.Length > 0)
            {
                var longestRange = availableSpells[0].Range + (availableSpells[0].Slot == SpellSlot.Q ? SpellManager.QAcquisitionRange : 0);

                var target = Kindred.GetTarget(longestRange);
                if (target != null)
                {
                    foreach (var spell in availableSpells)
                    {
                        switch (spell.Slot)
                        {
                        case SpellSlot.Q:
                            if (target.IsInRange(Player, Q.Range + SpellManager.QAcquisitionRange))
                            {
                                // Acquiring the dash point
                                var dashPoint = Player.ServerPosition.Extend(target, Q.Range - Kindred.Random.NextFloat(0, Q.Range * 0.05f));

                                // Acquire a new point if we dash into the auto attack range and don't use W at all
                                if ((!Settings.UseW || !W.IsReady(300) || !Settings.GaploseQBeforeW || W.State == SpellState.Surpressed) &&
                                    !target.IsInAutoAttackRange(Player) && target.IsInRange(dashPoint, target.GetAutoAttackRange(Player)))
                                {
                                    dashPoint = target.ServerPosition.Extend(Player, target.GetAutoAttackRange(Player) + 15);
                                }

                                // Cast Q
                                if (Q.Cast(dashPoint.To3DWorld()))
                                {
                                    QSent = true;
                                    Core.DelayAction(() => QSent = false, 300);
                                    return;
                                }
                            }
                            break;

                        case SpellSlot.W:
                            if (Player.IsInRange(target, Settings.TriggerDistanceW))
                            {
                                if (Settings.GaploseQBeforeW)
                                {
                                    // Cast Q first or wait till it's done casting
                                    if (Q.IsReady() || QSent)
                                    {
                                        return;
                                    }
                                }

                                // Cast W
                                if (W.Cast())
                                {
                                    return;
                                }
                            }
                            break;

                        case SpellSlot.E:
                            if (Player.IsInRange(target, E.Range))
                            {
                                if (Settings.UseAdvancedE)
                                {
                                    // Check if the player can land all 3 hits in theory
                                    if (target.Health / Player.GetAutoAttackDamage(target) < 3)
                                    {
                                        // Not worth it
                                        return;
                                    }
                                }

                                // Cast E
                                if (E.Cast(target))
                                {
                                    return;
                                }
                            }
                            break;
                        }
                    }
                }
            }
        }
		//ddlSourceTermOnSelectedIndexChanged
		private void LoadOperatorDropDown(Kindred.Knect.ITAT.Business.Term term)
		{
			ddlOperator.Items.Clear();
			ddlOperator.Items.Add(new ListItem("(Select One)", ""));
			switch (term.TermType)
			{
				case Kindred.Knect.ITAT.Business.TermType.Text:
					switch (((Business.TextTerm)term).Format)
					{
						case Business.TextTermFormat.Currency:
						case Business.TextTermFormat.Number:
							AddListItem(ddlOperator, Business.XMLNames._TermDependencyOperator_Equals, "");
							AddListItem(ddlOperator, Business.XMLNames._TermDependencyOperator_NotEqual, "");
							AddListItem(ddlOperator, Business.XMLNames._TermDependencyOperator_GreaterThan, "");
							AddListItem(ddlOperator, Business.XMLNames._TermDependencyOperator_LessThan, "");
							AddListItem(ddlOperator, Business.XMLNames._TermDependencyOperator_NoMoreThan, "");
							AddListItem(ddlOperator, Business.XMLNames._TermDependencyOperator_NoLessThan, "");
							AddListItem(ddlOperator, Business.XMLNames._TermDependencyOperator_Between, "");
							break;
						case Business.TextTermFormat.Plain:
						case Business.TextTermFormat.Phone:
						case Business.TextTermFormat.PhonePlusExtension:
						case Business.TextTermFormat.SSN:
						default:
							AddListItem(ddlOperator, Business.XMLNames._TermDependencyOperator_Equals, "");
							AddListItem(ddlOperator, Business.XMLNames._TermDependencyOperator_NotEqual, "");
							AddListItem(ddlOperator, Business.XMLNames._TermDependencyOperator_Contains, "");
							AddListItem(ddlOperator, Business.XMLNames._TermDependencyOperator_StartsWith, "");
							AddListItem(ddlOperator, Business.XMLNames._TermDependencyOperator_EndsWith, "");
							break;
					}
					break;
				case Kindred.Knect.ITAT.Business.TermType.Date:
					AddListItem(ddlOperator, Business.XMLNames._TermDependencyOperator_Equals, "");
					AddListItem(ddlOperator, Business.XMLNames._TermDependencyOperator_NotEqual, "");
					AddListItem(ddlOperator, Business.XMLNames._TermDependencyOperator_GreaterThan, "");
					AddListItem(ddlOperator, Business.XMLNames._TermDependencyOperator_LessThan, "");
					AddListItem(ddlOperator, Business.XMLNames._TermDependencyOperator_NoMoreThan, "");
					AddListItem(ddlOperator, Business.XMLNames._TermDependencyOperator_NoLessThan, "");
					AddListItem(ddlOperator, Business.XMLNames._TermDependencyOperator_Between, "");
					break;
				case Kindred.Knect.ITAT.Business.TermType.PickList:
					AddListItem(ddlOperator, Business.XMLNames._TermDependencyOperator_Equals, "");
					AddListItem(ddlOperator, Business.XMLNames._TermDependencyOperator_NotEqual, "");
					AddListItem(ddlOperator, Business.XMLNames._TermDependencyOperator_Contains, "");
					break;
			}
		}
        private void SetMoveUpDownButtonEvents(Kindred.Common.Controls.KindredGridView grd, ImageButton upButton, ImageButton downButton)
        {
            StateTermGroup stateTermGroup = GetStateTermGroup(_complexList);
            bool userIsComplexListEditor = Utility.ListHelper.HaveAMatch(stateTermGroup.Editors.ConvertAll<string>(Role.StringConverter), _securityHelper.UserRoles);

            if (userIsComplexListEditor)
            {
                btnAdd.Visible = true;
                btnItemMoveUp.Visible = true;
                btnItemMoveDown.Visible = true;
                grd.RowHighlighting = true;
                grd.EnableClickEvent = true;
                grd.EnableHeaderClick = true;

                int selectedRow = grd.SelectedIndex;

                if (selectedRow > 0) //enable move up button
                {
                    upButton.ImageUrl = "~/Images/MoveUp.gif";
                    upButton.Enabled = true;
                    upButton.Style["cursor"] = "pointer";
                    upButton.CommandName = "List";
                    upButton.CommandArgument = "up";
                }
                else
                {
                    upButton.ImageUrl = "~/Images/MoveUpDisabled.gif";
                    upButton.Enabled = false;
                    upButton.Style["cursor"] = "default";
                }

                if (selectedRow > -1 && selectedRow < grd.Rows.Count - 1)
                {
                    downButton.ImageUrl = "~/Images/MoveDown.gif";
                    downButton.Enabled = true;
                    downButton.Style["cursor"] = "pointer";
                    upButton.CommandName = "List";
                    downButton.CommandArgument = "down";
                }
                else
                {
                    downButton.ImageUrl = "~/Images/MoveDownDisabled.gif";
                    downButton.Enabled = false;
                    downButton.Style["cursor"] = "default";
                }
            }
            else
            {
                btnAdd.Visible = false;
                btnItemMoveUp.Visible = false;
                btnItemMoveDown.Visible = false;
                grd.RowHighlighting = false;
                grd.EnableClickEvent = false;
                grd.EnableHeaderClick = false;
            }
        }
示例#12
0
		private string EmailInfo(string from, Kindred.Common.Security.NameEmailPair[] toPairs, string subject, string text)
		{
			string to = "";
			if (toPairs != null && toPairs.Length > 0)
			{
				foreach (Kindred.Common.Security.NameEmailPair pair in toPairs)
				{
					to += string.Format("{0};", pair.Email);
				}
			}
			else
			{
				to = "NOT-DEFINED";
			}
			from = string.IsNullOrEmpty(from) ? "NOT-DEFINED" : from;
			subject = string.IsNullOrEmpty(subject) ? "NOT-DEFINED" : subject;
			text = string.IsNullOrEmpty(text) ? "NOT-DEFINED" : text;
			return string.Format("From:{0} To:{1} Subject:{2} Text:{3}", from, to, subject, text);
		}
示例#13
0
        private static void InitChampions()
        {
            if (!SuppoetChampions.Contains(herosName))
            {
                Chat.Print("Flowers' ADC Series" + "[" + herosName + "]: Not Support!");
                return;
            }

            MyMenuExtensions.myMenu = Menu.AddMenu("Flowers' ADC Series: " + herosName);

            MyMenuExtensions.ComboMenu = MyMenuExtensions.myMenu.AddSubMenu(":: Combo Settings");

            MyMenuExtensions.HarassMenu = MyMenuExtensions.myMenu.AddSubMenu(":: Harass Settings");

            MyMenuExtensions.LaneClearMenu = MyMenuExtensions.myMenu.AddSubMenu(":: LaneClear Settings");

            MyMenuExtensions.JungleClearMenu = MyMenuExtensions.myMenu.AddSubMenu(":: JungleClear Settings");

            MyMenuExtensions.LastHitMenu = MyMenuExtensions.myMenu.AddSubMenu(":: LastHit Settings");

            MyMenuExtensions.FleeMenu = MyMenuExtensions.myMenu.AddSubMenu(":: Flee Settings");

            MyMenuExtensions.KillStealMenu = MyMenuExtensions.myMenu.AddSubMenu(":: KillSteal Settings");

            MyMenuExtensions.MiscMenu = MyMenuExtensions.myMenu.AddSubMenu(":: Misc Settings");
            MyManaManager.AddSpellFarm(MyMenuExtensions.MiscMenu);

            MyMenuExtensions.DrawMenu = MyMenuExtensions.myMenu.AddSubMenu(":: Drawings Settings");

            switch (ObjectManager.Player.ChampionName)
            {
            case "Ashe":
                Ashe.Init();
                break;

            case "Caitlyn":
                Caitlyn.Init();
                break;

            case "Corki":
                Corki.Init();
                break;

            case "Draven":
                Draven.Init();
                break;

            case "Ezreal":
                Ezreal.Init();
                break;

            case "Graves":
                Graves.Init();
                break;

            case "Jayce":
                Jayce.Init();
                break;

            case "Jhin":
                Jhin.Init();
                break;

            case "Jinx":
                Jinx.Init();
                break;

            case "Kalista":
                Kalista.Init();
                break;

            case "Kindred":
                Kindred.Init();
                break;

            case "KogMaw":
                KogMaw.Init();
                break;

            case "Lucian":
                Lucian.Init();
                break;

            case "MissFortune":
                MissFortune.Init();
                break;

            case "Quinn":
                Quinn.Init();
                break;

            case "Sivir":
                Sivir.Init();
                break;

            case "Teemo":
                Teemo.Init();
                break;

            case "Tristana":
                Tristana.Init();
                break;

            case "TwistedFate":
                TwistedFate.Init();
                break;

            case "Twitch":
                Twitch.Init();
                break;

            case "Urgot":
                Urgot.Init();
                break;

            case "Varus":
                Varus.Init();
                break;

            case "Vayne":
                Vayne.Init();
                break;

            case "Xayah":
                Xayah.Init();
                break;
            }

            Chat.Print("Flowers' ADC Series" + "[" + herosName + "]: Init Successful! Made by NightMoon");
        }
示例#14
0
        public static void GameOnOnGameLoad()
        {
            enemySpawn = ObjectManager.Get <Obj_SpawnPoint>().FirstOrDefault(x => x.IsEnemy);
            Q          = new Spell(SpellSlot.Q);
            E          = new Spell(SpellSlot.E);
            W          = new Spell(SpellSlot.W);
            R          = new Spell(SpellSlot.R);

            Config = MainMenu.AddMenu("一键制胜 合集", "OneKeyToWin_AIO" + ObjectManager.Player.ChampionName);

            #region MENU ABOUT OKTW

            Config.Add("debug", new CheckBox("调试", false));
            Config.Add("debugChat", new CheckBox("调试信息", false));
            Config.Add("print", new CheckBox("OKTW更新信息"));

            #endregion

            Config.Add("AIOmode", new Slider("合集模式 (0 : 功能集 & 英雄 | 1 : 只载入英雄 | 2 : 只载入功能集)", 0, 0, 2));
            AIOmode = getSliderItem("AIOmode");

            Config.Add("PredictionMODE", new Slider("预判库 (0 : 库预判 | 1 : OKTW© 预判 | 2 : S预判)", 0, 0, 2));
            Config.Add("HitChance", new Slider("AIO 预判模式 (0 : 非常高 | 1 : 高 | 2 : 中)", 0, 0, 2));
            Config.Add("debugPred", new CheckBox("显示 瞄准OKTW©预判", false));
            Config.Add("harassLaneclear", new CheckBox("清线时技能骚扰"));

            if (getSliderItem("PredictionMODE") == 2)
            {
                SPrediction.Prediction.Initialize(Config);
                SPredictionLoad = true;
            }
            else
            {
                Config.AddLabel("S预判未加载");
            }

            if (AIOmode != 2)
            {
                Config.Add("supportMode", new CheckBox("辅助模式", false));
                Config.Add("comboDisableMode", new CheckBox("连招屏蔽普攻", false));
                Config.Add("manaDisable", new CheckBox("连招时无视蓝量控制器"));
                Config.Add("collAA", new CheckBox("面对亚索风墙停止普攻"));

                #region LOAD CHAMPIONS

                switch (Player.ChampionName)
                {
                case "Anivia":
                    PortAIO.Champion.Anivia.Anivia.LoadOKTW();
                    break;

                case "Annie":
                    PortAIO.Champion.Annie.Program.LoadOKTW();
                    break;

                case "Ashe":
                    PortAIO.Champion.Ashe.Program.LoadOKTW();
                    break;

                case "Braum":
                    PortAIO.Champion.Braum.Program.LoadOKTW();
                    break;

                case "Caitlyn":
                    new Caitlyn().LoadOKTW();
                    break;

                case "Ekko":
                    PortAIO.Champion.Ekko.Program.LoadOKTW();
                    break;

                case "Ezreal":
                    Ezreal.LoadOKTW();
                    break;

                case "Graves":
                    Graves.LoadOKTW();
                    break;

                case "Jayce":
                    OneKeyToWin_AIO_Sebby.Champions.Jayce.LoadOKTW();
                    break;

                case "Jinx":
                    Jinx.LoadOKTW();
                    break;

                case "Karthus":
                    Karthus.LoadOKTW();
                    break;

                case "MissFortune":
                    MissFortune.LoadOKTW();
                    break;

                case "Malzahar":
                    Malzahar.LoadOKTW();
                    break;

                case "Orianna":
                    Orianna.LoadOKTW();
                    break;

                case "Sivir":
                    Sivir.LoadOKTW();
                    break;

                case "Twitch":
                    Twitch.LoadOKTW();
                    break;

                case "Syndra":
                    Syndra.LoadOKTW();
                    break;

                case "Velkoz":
                    Velkoz.LoadOKTW();
                    break;

                case "Xerath":
                    Xerath.LoadOKTW();
                    break;

                case "Swain":
                    Swain.LoadOKTW();
                    break;

                case "Urgot":
                    Urgot.LoadOKTW();
                    break;

                case "Ahri":
                    Ahri.LoadOKTW();
                    break;

                case "Thresh":
                    Thresh.LoadOKTW();
                    break;

                case "Brand":
                    Brand.LoadOKTW();
                    break;

                case "Blitzcrank":
                    Blitzcrank.LoadOKTW();
                    break;

                case "Corki":
                    Corki.LoadOKTW();
                    break;

                case "Darius":
                    Darius.LoadOKTW();
                    break;

                case "Evelynn":
                    OneKeyToWin_AIO_Sebby.Champions.Evelynn.LoadOKTW();
                    break;

                case "Jhin":
                    Jhin.LoadOKTW();
                    break;

                case "Kindred":
                    Kindred.LoadOKTW();
                    break;

                case "KogMaw":
                    OneKeyToWin_AIO_Sebby.KogMaw.LoadOKTW();
                    break;

                case "Lux":
                    Lux.LoadOKTW();
                    break;

                case "Morgana":
                    Morgana.LoadOKTW();
                    break;

                case "Quinn":
                    Quinn.LoadOKTW();
                    break;

                case "TwistedFate":
                    OneKeyToWin_AIO_Sebby.Champions.TwistedFate.LoadOKTW();
                    break;
                }
            }

            #endregion

            foreach (var hero in HeroManager.Enemies)
            {
                if (hero.IsEnemy && hero.Team != Player.Team)
                {
                    Enemies.Add(hero);
                    if (IsJungler(hero))
                    {
                        jungler = hero;
                    }
                }
            }

            foreach (var hero in HeroManager.Allies)
            {
                if (hero.IsAlly && hero.Team == Player.Team)
                {
                    Allies.Add(hero);
                }
            }

            if (AIOmode != 1)
            {
                new OKTWward().LoadOKTW();
                new OKTWtracker().LoadOKTW();
            }

            Game.OnUpdate         += OnUpdate;
            Orbwalker.OnPreAttack += Orbwalking_BeforeAttack;
            Drawing.OnDraw        += OnDraw;
        }
		private void EditAction(Kindred.Knect.ITAT.Business.Action action, int rowIndex, bool newAction)
		{
			bool dataChanged;
			SetValues(out dataChanged);   //Update values before transferring to ActionEdit page
			Context.Items[Common.Names._CNTXT_Template] = _template;
			//Context.Items[Common.Names._CNTXT_Action] = action;
			Context.Items[Common.Names._CNTXT_ActionIndex] = rowIndex;
			Context.Items[Common.Names._CNTXT_StateIndex] = _stateIndex;	//pass to "child" page so that it can be passed back when control returns to this page
			if (_template.SecurityModel == Business.SecurityModel.Advanced)
			{
				Context.Items[Common.Names._CNTXT_TermGroupId] = _currentTermGroupId; //pass to "child" page so that it can be passed back when control returns to this page			
			}
			Context.Items[Common.Names._CNTXT_WorkflowId] = _workflowId;
			Context.Items[Common.Names._CNTXT_EditMode] = (newAction ? EditMode.Add : EditMode.Edit);
			Context.Items[Common.Names._CNTXT_WorkflowEditMode] = _workflowEditMode;
            Context.Items[Common.Names._CNTXT_OrgStates] = _orgStates;
            Server.Transfer("TemplateWorkflowActionEdit.aspx");
		}
 private string UpDownButtonCommandName(Kindred.Common.Controls.KindredGridView grd)
 {
     if (grd == grdWorkflow)
         return "Workflow";
     if (grd == grdDependency)
         return "Dependency";
     return string.Empty;
 }