示例#1
0
        public static bool ShouldWindWall(MissileClient missile, SpellInfo info)
        {
            //checks if:
            //if projectile name = info's spell name
            //if player is within W range (therefore W will force block it)

            if (missile.SpellCaster.Name != "Diana")
            {
                if (missile.SData.Name != info.MissileName ||
                    !missile.IsInRange(Yasuo, Program.W.Range * 2))
                {
                    return(false);
                }
                else if (missile.SpellCaster.Name == "Diana" &&
                         !missile.SData.Name.Contains(info.MissileName))
                {
                    return(false);
                }
            }

            //doesnt seem to work
            //checks if the ability is a lock on projectile and the target is me
            if (info.ProjectileType == SpellDatabase.ProjectileType.LockOnProjectile &&
                missile.Target != Yasuo)
            {
                return(false);
            }

            //checks if channeling ability is too close to player
            if (info.ChannelType != SpellDatabase.ChannelType.None)
            {
                //if enemy skillshot is far enough away and E is ready continue. else return false
                if (!HandleChannelingSpells(missile, info))
                {
                    return(false);
                }
            }

            CheckBox toggleBox = MenuHandler.GetCheckbox(WindWallMenu, "WindWallSpell." + info.SpellName + ".WindWallMissile." + info.MissileName);

            //check if checkbox for spell is enabled
            if ((toggleBox != null && toggleBox.IsVisible) || MenuHandler.GetComboBoxText(WindWallMenu, "Spells To Block: ") == "Block All")
            {
                return(toggleBox.CurrentValue);
            }
            return(false);
        }
 public static string GetComboBoxText(this Menu self, string text)
 {
     return(MenuHandler.GetComboBoxText(self, text));
 }