Пример #1
0
        public UrnOfShadowsSettings(Menu settings, IHealthRestore ability)
        {
            var menu = settings.GetOrAdd(new Menu(ability.DisplayName, ability.Name).SetTexture(ability.Name));

            this.HpThreshold = menu.GetOrAdd(new MenuSlider("HP% threshold (target)", 50, 1, 100));
            this.HpThreshold.SetTooltip("Use when target hp% is lower");
            this.HpThreshold.AddTranslation(Lang.Ru, "Порог ХП% (цель)");
            this.HpThreshold.AddTooltipTranslation(Lang.Ru, "Использовать способность, когда у цели меньше здоровья%");
            this.HpThreshold.AddTranslation(Lang.Cn, "生命值%(目标)");
            this.HpThreshold.AddTooltipTranslation(Lang.Cn, "当目标健康状况较差 % 时,使用能力");

            this.SelfOnly = menu.GetOrAdd(new MenuSwitcher("Self only", false));
            this.SelfOnly.SetTooltip("Use only on self");
            this.SelfOnly.AddTranslation(Lang.Ru, "Только на себя");
            this.SelfOnly.AddTooltipTranslation(Lang.Ru, "Использовать способность, только на своего героя");
            this.SelfOnly.AddTranslation(Lang.Cn, "仅自己");
            this.SelfOnly.AddTooltipTranslation(Lang.Cn, "只对他的英雄使用这种能力");

            this.Distance = menu.GetOrAdd(new MenuSlider("Distance", 700, 0, 2000));
            this.Distance.SetTooltip("Use when there are no enemies in range");
            this.Distance.AddTranslation(Lang.Ru, "Дистанция");
            this.Distance.AddTooltipTranslation(Lang.Ru, "Использовать способность, если врагов нету");
            this.Distance.AddTranslation(Lang.Cn, "距离");
            this.Distance.AddTooltipTranslation(Lang.Cn, "当射程内没有敌人时使用能力");

            this.heroes = menu.GetOrAdd(new MenuHeroToggler("Use on:", true));
            this.heroes.AddTranslation(Lang.Ru, "Использовать на:");
            this.heroes.AddTranslation(Lang.Cn, "用于:");
        }
Пример #2
0
        public TangoSettings(Menu settings, IHealthRestore ability)
        {
            var menu = settings.GetOrAdd(new Menu(ability.DisplayName, ability.Name).SetTexture(ability.Name));

            this.HpThreshold = menu.GetOrAdd(new MenuSlider("HP% threshold", 80, 1, 100));
            this.HpThreshold.SetTooltip("Use when hero hp% is lower");
            this.HpThreshold.AddTranslation(Lang.Ru, "Порог ХП%");
            this.HpThreshold.AddTooltipTranslation(Lang.Ru, "Использовать способность, когда у героя меньше здоровья%");
            this.HpThreshold.AddTranslation(Lang.Cn, "生命值%");
            this.HpThreshold.AddTooltipTranslation(Lang.Cn, "当英雄健康百分比较低时使用");

            this.HappyLittleTreeOnly = menu.GetOrAdd(new MenuSwitcher("Use only on happy little tree"));
            this.HappyLittleTreeOnly.AddTranslation(
                Lang.Ru,
                "Использовать только на дерево из " + LocalizationHelper.LocalizeAbilityName(nameof(AbilityId.item_branches)));
            this.HappyLittleTreeOnly.AddTranslation(
                Lang.Cn,
                "仅适用于" + LocalizationHelper.LocalizeAbilityName(nameof(AbilityId.item_branches)));

            this.EnemiesCount = menu.GetOrAdd(new MenuSlider("Number of enemies", 1, 0, 5));
            this.EnemiesCount.SetTooltip("Use only when there are equals/more enemies near target");
            this.EnemiesCount.AddTranslation(Lang.Ru, "Число врагов");
            this.EnemiesCount.AddTooltipTranslation(Lang.Ru, "Использовать способность, если врагов больше или равно");
            this.EnemiesCount.AddTranslation(Lang.Cn, "敌人数量");
            this.EnemiesCount.AddTooltipTranslation(Lang.Cn, "仅在附近有相等/更多敌人的情况下使用");

            this.Distance = menu.GetOrAdd(new MenuSlider("Distance", 1200, 0, 2000));
            this.Distance.SetTooltip("Use ability only when enemy is closer");
            this.Distance.AddTranslation(Lang.Ru, "Дистанция");
            this.Distance.AddTooltipTranslation(Lang.Ru, "Использовать способность, если враг находится ближе");
            this.Distance.AddTranslation(Lang.Cn, "距离");
            this.Distance.AddTooltipTranslation(Lang.Cn, "如果敌人更近,使用能力");
        }
Пример #3
0
        public LivingArmorSettings(Menu settings, IHealthRestore ability)
        {
            var menu = settings.GetOrAdd(new Menu(ability.DisplayName, ability.Name).SetTexture(ability.Name));

            this.HpThreshold = menu.GetOrAdd(new MenuSlider("HP% threshold (target)", 50, 1, 100));
            this.HpThreshold.SetTooltip("Use when target hp% is lower");
            this.HpThreshold.AddTranslation(Lang.Ru, "Порог ХП% (цель)");
            this.HpThreshold.AddTooltipTranslation(Lang.Ru, "Использовать способность, когда у цели меньше здоровья%");
            this.HpThreshold.AddTranslation(Lang.Cn, "生命值%(目标)");
            this.HpThreshold.AddTooltipTranslation(Lang.Cn, "当目标健康状况较差 % 时,使用能力");

            this.CriticalHpThreshold = menu.GetOrAdd(new MenuSlider("Critical HP% threshold (target)", 30, 1, 100));
            this.CriticalHpThreshold.SetTooltip("Use when target hp% is lower, mp% check is ignored");
            this.CriticalHpThreshold.AddTranslation(Lang.Ru, "Критический порог ХП% (цель)");
            this.CriticalHpThreshold.AddTooltipTranslation(
                Lang.Ru,
                "Использовать способность, когда у цели меньше здоровья%, игнорируя проверку маны");
            this.CriticalHpThreshold.AddTranslation(Lang.Cn, "关键生命值%(目标)");
            this.CriticalHpThreshold.AddTooltipTranslation(Lang.Cn, "当目标hp低于%时,mp%检查被忽略时使用");

            this.MpThreshold = menu.GetOrAdd(new MenuSlider("MP% threshold", 30, 1, 100));
            this.MpThreshold.SetTooltip("Use when ability owner mp% is higher");
            this.MpThreshold.AddTranslation(Lang.Ru, "Порог МП%");
            this.MpThreshold.AddTooltipTranslation(Lang.Ru, "Использовать способность, только если у героя больше маны%");
            this.MpThreshold.AddTranslation(Lang.Cn, "魔法值%");
            this.MpThreshold.AddTooltipTranslation(Lang.Cn, "只有当英雄有更多的法力 % 时,才使用该能力");

            this.SelfOnly = menu.GetOrAdd(new MenuSwitcher("Self only", false));
            this.SelfOnly.SetTooltip("Use only on self");
            this.SelfOnly.AddTranslation(Lang.Ru, "Только на себя");
            this.SelfOnly.AddTooltipTranslation(Lang.Ru, "Использовать способность, только на своего героя");
            this.SelfOnly.AddTranslation(Lang.Cn, "仅自己");
            this.SelfOnly.AddTooltipTranslation(Lang.Cn, "只对他的英雄使用这种能力");

            this.EnemiesCount = menu.GetOrAdd(new MenuSlider("Number of enemies", 1, 0, 5));
            this.EnemiesCount.SetTooltip("Use only when there are equals/more enemies near target");
            this.EnemiesCount.AddTranslation(Lang.Ru, "Число врагов");
            this.EnemiesCount.AddTooltipTranslation(Lang.Ru, "Использовать способность, если врагов больше или равно");
            this.EnemiesCount.AddTranslation(Lang.Cn, "敌人数量");
            this.EnemiesCount.AddTooltipTranslation(Lang.Cn, "仅在附近有相等/更多敌人的情况下使用");

            this.Distance = menu.GetOrAdd(new MenuSlider("Distance", 900, 0, 2000));
            this.Distance.SetTooltip("Use ability only when enemy is closer");
            this.Distance.AddTranslation(Lang.Ru, "Дистанция");
            this.Distance.AddTooltipTranslation(Lang.Ru, "Использовать способность, если враг находится ближе");
            this.Distance.AddTranslation(Lang.Cn, "距离");
            this.Distance.AddTooltipTranslation(Lang.Cn, "如果敌人更近,使用能力");

            this.UseOnTowers = menu.GetOrAdd(new MenuSwitcher("Use on towers", false));
            this.UseOnTowers.AddTranslation(Lang.Ru, "Использовать на вышки");
            this.UseOnTowers.AddTranslation(Lang.Cn, "在塔上使用");

            this.UseOnRax = menu.GetOrAdd(new MenuSwitcher("Use on barracks", false));
            this.UseOnRax.AddTranslation(Lang.Ru, "Использовать на бараки");
            this.UseOnRax.AddTranslation(Lang.Cn, "用于兵营");

            this.heroes = menu.GetOrAdd(new MenuHeroToggler("Use on:", true));
            this.heroes.AddTranslation(Lang.Ru, "Использовать на:");
            this.heroes.AddTranslation(Lang.Cn, "用于:");
        }
Пример #4
0
        public AttributeShiftStrengthGainAbility(IHealthRestore healthRestore, GroupSettings settings)
            : base(healthRestore)
        {
            this.settings = new AttributeShiftStrengthGainSettings(settings.Menu, healthRestore);
            this.shiftStr = (AttributeShiftStrengthGain)healthRestore;
            this.shiftAgi = this.shiftStr.AttributeShiftAgilityGain;

            this.balanceHealth = this.Owner.Health;
        }
Пример #5
0
        public void AddAbility(IHealthRestore ability)
        {
            if (!ability.InstantRestore)
            {
                return;
            }

            this.healthRestore.Add(ability);
        }
Пример #6
0
        public BottleSettings(Menu settings, IHealthRestore ability)
        {
            var menu = settings.GetOrAdd(new Menu(ability.DisplayName, ability.Name).SetTexture(ability.Name));

            this.SelfOnly = menu.GetOrAdd(new MenuSwitcher("Self only", false));
            this.SelfOnly.SetTooltip("Use only on self");
            this.SelfOnly.AddTranslation(Lang.Ru, "Только на себя");
            this.SelfOnly.AddTooltipTranslation(Lang.Ru, "Использовать способность, только на своего героя");
            this.SelfOnly.AddTranslation(Lang.Cn, "仅自己");
            this.SelfOnly.AddTooltipTranslation(Lang.Cn, "只对他的英雄使用这种能力");

            this.heroes = menu.GetOrAdd(new MenuHeroToggler("Use on:", true));
            this.heroes.AddTranslation(Lang.Ru, "Использовать на:");
            this.heroes.AddTranslation(Lang.Cn, "用于:");
        }
Пример #7
0
        public SunderSettings(Menu settings, IHealthRestore ability)
        {
            var menu = settings.GetOrAdd(new Menu(ability.DisplayName, ability.Name).SetTexture(ability.Name));

            this.HpThreshold = menu.GetOrAdd(new MenuSlider("HP% threshold", 30, 1, 100));
            this.HpThreshold.SetTooltip("Use when hero hp% is lower");
            this.HpThreshold.AddTranslation(Lang.Ru, "Порог ХП%");
            this.HpThreshold.AddTooltipTranslation(Lang.Ru, "Использовать способность, когда у героя меньше здоровья%");
            this.HpThreshold.AddTranslation(Lang.Cn, "生命值%");
            this.HpThreshold.AddTooltipTranslation(Lang.Cn, "当英雄健康百分比较低时使用");

            this.TargetHpThreshold = menu.GetOrAdd(new MenuSlider("Target HP% threshold", 50, 1, 100));
            this.TargetHpThreshold.SetTooltip("Use when target hp% is higher");
            this.TargetHpThreshold.AddTranslation(Lang.Ru, "Порог ХП% цели");
            this.TargetHpThreshold.AddTooltipTranslation(Lang.Ru, "Использовать способность, когда у цели больше здоровья%");
            this.TargetHpThreshold.AddTranslation(Lang.Cn, "生命值%(目标)");
            this.TargetHpThreshold.AddTooltipTranslation(Lang.Cn, "当目标具有更健康 % 时,使用该能力");

            this.EnemiesCount = menu.GetOrAdd(new MenuSlider("Number of enemies", 1, 0, 5));
            this.EnemiesCount.SetTooltip("Use only when there are equals/more enemies near target");
            this.EnemiesCount.AddTranslation(Lang.Ru, "Число врагов");
            this.EnemiesCount.AddTooltipTranslation(Lang.Ru, "Использовать способность, если врагов больше или равно");
            this.EnemiesCount.AddTranslation(Lang.Cn, "敌人数量");
            this.EnemiesCount.AddTooltipTranslation(Lang.Cn, "仅在附近有相等/更多敌人的情况下使用");

            this.Distance = menu.GetOrAdd(new MenuSlider("Distance", 900, 0, 2000));
            this.Distance.SetTooltip("Use ability only when enemy is closer");
            this.Distance.AddTranslation(Lang.Ru, "Дистанция");
            this.Distance.AddTooltipTranslation(Lang.Ru, "Использовать способность, если враг находится ближе");
            this.Distance.AddTranslation(Lang.Cn, "距离");
            this.Distance.AddTooltipTranslation(Lang.Cn, "如果敌人更近,使用能力");

            this.UseOnIllusions = menu.GetOrAdd(new MenuSwitcher("Use on illusions"));
            this.UseOnIllusions.AddTranslation(Lang.Ru, "Использовать на иллюзии");
            this.UseOnIllusions.AddTranslation(Lang.Cn, "用于错觉");

            this.UseOnAllies = menu.GetOrAdd(new MenuSwitcher("Use on allies", false));
            this.UseOnAllies.AddTranslation(Lang.Ru, "Использовать на союзников");
            this.UseOnAllies.AddTranslation(Lang.Cn, "用于盟友");
        }
Пример #8
0
 public CounterHealAbility(Ability9 ability, IMainMenu menu)
     : base(ability, menu)
 {
     this.healAbility = ability as IHealthRestore;
 }
Пример #9
0
 public SunderAbility(IHealthRestore healthRestore, GroupSettings settings)
     : base(healthRestore)
 {
     this.settings = new SunderSettings(settings.Menu, healthRestore);
 }
Пример #10
0
 public TangoAbility(IHealthRestore healthRestore, GroupSettings settings)
     : base(healthRestore)
 {
     this.settings = new TangoSettings(settings.Menu, healthRestore);
 }
        public HealthRestoreSettings(Menu settings, IHealthRestore ability)
        {
            var menu = settings.GetOrAdd(new Menu(ability.DisplayName, ability.Name).SetTexture(ability.Name));

            this.HpThreshold = menu.GetOrAdd(new MenuSlider("HP% threshold (target)", 50, 1, 100));
            this.HpThreshold.SetTooltip("Use when target hp% is lower");
            this.HpThreshold.AddTranslation(Lang.Ru, "Порог ХП% (цель)");
            this.HpThreshold.AddTooltipTranslation(Lang.Ru, "Использовать способность, когда у цели меньше здоровья%");
            this.HpThreshold.AddTranslation(Lang.Cn, "生命值%(目标)");
            this.HpThreshold.AddTooltipTranslation(Lang.Cn, "当目标健康状况较差 % 时,使用能力");

            if (ability.BaseAbility.AbilityData.GetManaCost(0) > 0)
            {
                this.CriticalHpThreshold = menu.GetOrAdd(new MenuSlider("Critical HP% threshold (target)", 30, 1, 100));
                this.CriticalHpThreshold.SetTooltip("Use when target hp% is lower, mp% check is ignored");
                this.CriticalHpThreshold.AddTranslation(Lang.Ru, "Критический порог ХП% (цель)");
                this.CriticalHpThreshold.AddTooltipTranslation(
                    Lang.Ru,
                    "Использовать способность, когда у цели меньше здоровья%, игнорируя проверку маны");
                this.CriticalHpThreshold.AddTranslation(Lang.Cn, "关键生命值%(目标)");
                this.CriticalHpThreshold.AddTooltipTranslation(Lang.Cn, "当目标hp低于%时,mp%检查被忽略时使用");

                this.MpThreshold = menu.GetOrAdd(new MenuSlider("MP% threshold", 30, 1, 100));
                this.MpThreshold.SetTooltip("Use when ability owner mp% is higher");
                this.MpThreshold.AddTranslation(Lang.Ru, "Порог МП%");
                this.MpThreshold.AddTooltipTranslation(Lang.Ru, "Использовать способность, только если у героя больше маны%");
                this.MpThreshold.AddTranslation(Lang.Cn, "魔法值%");
                this.MpThreshold.AddTooltipTranslation(Lang.Cn, "只有当英雄有更多的法力 % 时,才使用该能力");
            }
            else
            {
                this.CriticalHpThreshold = new MenuSlider("Critical HP% threshold (target)", 0, 0, 0);
                this.MpThreshold         = new MenuSlider("MP% threshold", 0, 0, 0);
            }

            if (ability.RestoresAlly)
            {
                if (ability.RestoresOwner)
                {
                    this.SelfOnly = menu.GetOrAdd(new MenuSwitcher("Self only", false));
                    this.SelfOnly.SetTooltip("Use only on self");
                    this.SelfOnly.AddTranslation(Lang.Ru, "Только на себя");
                    this.SelfOnly.AddTooltipTranslation(Lang.Ru, "Использовать способность, только на своего героя");
                    this.SelfOnly.AddTranslation(Lang.Cn, "仅自己");
                    this.SelfOnly.AddTooltipTranslation(Lang.Cn, "只对他的英雄使用这种能力");
                }
                else
                {
                    this.SelfOnly = new MenuSwitcher("Self only", false);
                }
            }
            else
            {
                this.SelfOnly = new MenuSwitcher("Self only");
            }

            this.EnemiesCount = menu.GetOrAdd(new MenuSlider("Number of enemies", 1, 0, 5));
            this.EnemiesCount.SetTooltip("Use only when there are equals/more enemies near target");
            this.EnemiesCount.AddTranslation(Lang.Ru, "Число врагов");
            this.EnemiesCount.AddTooltipTranslation(Lang.Ru, "Использовать способность, если врагов больше или равно");
            this.EnemiesCount.AddTranslation(Lang.Cn, "敌人数量");
            this.EnemiesCount.AddTooltipTranslation(Lang.Cn, "仅在附近有相等/更多敌人的情况下使用");

            this.Distance = menu.GetOrAdd(new MenuSlider("Distance", 900, 0, 2000));
            this.Distance.SetTooltip("Use ability only when enemy is closer");
            this.Distance.AddTranslation(Lang.Ru, "Дистанция");
            this.Distance.AddTooltipTranslation(Lang.Ru, "Использовать способность, если враг находится ближе");
            this.Distance.AddTranslation(Lang.Cn, "距离");
            this.Distance.AddTooltipTranslation(Lang.Cn, "如果敌人更近,使用能力");

            if (ability is IHasRadius)
            {
                this.AlliesCount = menu.GetOrAdd(new MenuSlider("Number of allies", 1, 1, 5));
                this.AlliesCount.SetTooltip("Use only when you can restore equals/more allies");
                this.AlliesCount.AddTranslation(Lang.Ru, "Число союзников");
                this.AlliesCount.AddTooltipTranslation(Lang.Ru, "Использовать способность, если попадет по больше или равно союзников");
                this.AlliesCount.AddTranslation(Lang.Cn, "盟友数量");
                this.AlliesCount.AddTooltipTranslation(Lang.Cn, "使用能力,如果它击中更多或相等的盟友");
            }
            else
            {
                this.AlliesCount = new MenuSlider("Number of allies", 0, 0, 0);
            }

            if (ability.RestoresAlly)
            {
                this.heroes = menu.GetOrAdd(new MenuHeroToggler("Use on:", true));
                this.heroes.AddTranslation(Lang.Ru, "Использовать на:");
                this.heroes.AddTranslation(Lang.Cn, "用于:");
            }
        }
Пример #12
0
 public PurifyingFlamesAbility(IHealthRestore healthRestore, GroupSettings settings)
     : base(healthRestore)
 {
     this.settings = new PurifyingFlamesSettings(settings.Menu, healthRestore);
 }
Пример #13
0
 public HealthRestoreAbility(IHealthRestore healthRestore)
     : base(healthRestore)
 {
     this.HealthRestore = healthRestore;
 }
Пример #14
0
 public LivingArmorAbility(IHealthRestore healthRestore, GroupSettings settings)
     : base(healthRestore)
 {
     this.settings = new LivingArmorSettings(settings.Menu, healthRestore);
 }
Пример #15
0
 public UrnOfShadowsAbility(IHealthRestore healthRestore, GroupSettings settings)
     : base(healthRestore)
 {
     this.settings = new UrnOfShadowsSettings(settings.Menu, healthRestore);
 }
Пример #16
0
 public void RemoveAbility(IHealthRestore ability)
 {
     this.healthRestore.Remove(ability);
 }
Пример #17
0
 public BottleAbility(IHealthRestore healthRestore, GroupSettings settings)
     : base(healthRestore)
 {
     this.settings = new BottleSettings(settings.Menu, healthRestore);
 }
Пример #18
0
 public HealthRestoreAbility(IHealthRestore healthRestore, GroupSettings settings)
     : base(healthRestore)
 {
     this.HealthRestore = healthRestore;
     this.settings      = new HealthRestoreSettings(settings.Menu, healthRestore);
 }