Exemplo n.º 1
0
 private static bool IsFullDebuffed()
 {
     if ((Atos != null && Atos.CanBeCasted() &&
          Menu.Item("magicItems").GetValue <AbilityToggler>().IsEnabled(Atos.Name) &&
          !Target.HasModifier("modifier_item_rod_of_atos") && !Utils.SleepCheck("atossleep"))
         ||
         (Veil != null && Veil.CanBeCasted() &&
          Menu.Item("magicItems").GetValue <AbilityToggler>().IsEnabled(Veil.Name) &&
          !Target.HasModifier("modifier_item_veil_of_discord"))
         ||
         (Silence != null && Silence.CanBeCasted() &&
          Menu.Item("abilities").GetValue <AbilityToggler>().IsEnabled(Silence.Name) &&
          !Target.HasModifier("modifier_skywrath_mage_ancient_seal"))
         ||
         (Orchid != null && Orchid.CanBeCasted() &&
          Menu.Item("magicItems").GetValue <AbilityToggler>().IsEnabled(Orchid.Name) &&
          !Target.HasModifier("modifier_item_orchid_malevolence"))
         ||
         (Ethereal != null && Ethereal.CanBeCasted() &&
          Menu.Item("magicItems").GetValue <AbilityToggler>().IsEnabled(Ethereal.Name) &&
          !Target.HasModifier("modifier_item_ethereal_blade_slow") && !Utils.SleepCheck("slowsleep"))
         ||
         (Bloodthorn != null && Bloodthorn.CanBeCasted() &&
          Menu.Item("magicItems").GetValue <AbilityToggler>().IsEnabled(Bloodthorn.Name) &&
          !Target.HasModifier("modifier_item_bloodthorn"))
         ||
         (Slow != null && Slow.CanBeCasted() &&
          Menu.Item("abilities").GetValue <AbilityToggler>().IsEnabled(Slow.Name) &&
          !Target.HasModifier("modifier_skywrath_mage_concussive_shot_slow")) && !Utils.SleepCheck("slowsleep"))
     {
         return(false);
     }
     return(true);
 }
Exemplo n.º 2
0
    public static Character CreateCharacter(int id)
    {
        Character c = null;

        switch (id)
        {   //有没有bug看单位表和各个类
        case 1:  c = new MvpTemp();    break;

        case 2:  c = new TankTemp();   break;

        case 3:  c = new WarriorTemp(); break;

        case 4:  c = new Taunter();    break;     // 嘲讽盾

        case 5:  c = new Paladin();    break;     // 奶骑

        case 6:                        break;     // 反甲

        case 7:  c = new Explosive();  break;     // 自爆卡车

        case 8:  c = new Linkage();    break;     // 联动

        case 9:  c = new TaiChi();     break;     // 打太极

        case 10: c = new Silence();    break;     // 沉默

        case 11: c = new GroupHealer(); break;    // 群体治疗

        case 12:                       break;     // 单体治疗

        case 13:                       break;     // 操控怒气

        case 14: c = new Calmer();     break;     // 频繁减怒

        case 15: c = new Buffer();     break;     // 加buff

        case 16: c = new Pierce();     break;     // 单体输出

        case 17: c = new Sputter();    break;     // 溅射

        case 18: c = new Volition();   break;     // 越打越痛

        case 19: c = new Transformer(); break;    // 变身

        case 20: c = new DoubleAgent(); break;    // 内鬼

        case 21: c = new Lazer();      break;     // 激光豆

        case 22: c = new Darius();     break;     // 人头狗

        case 23:                       break;     // 投石机

        case 24: c = new Marshall();   break;     // 黑胡子

        default: Debug.Log("输入了错误的id,找不到对应单位"); break;
        }

        return(c);
    }
Exemplo n.º 3
0
        public void Constructor_SetsCutTime_WhenCalled()
        {
            // Arrange
            var sut = new Silence(1.0f,
                                  2.0f,
                                  3.0f);

            // Act
            // Assert
            Assert.True(Math.Abs(1.1f - sut.CutTime) < Tolerance);
        }
Exemplo n.º 4
0
        public void Constructor_SetsDuration_WhenCalled()
        {
            // Arrange
            var sut = new Silence(1.0f,
                                  2.0f,
                                  3.0f);

            // Act
            // Assert
            Assert.True(Math.Abs(3.0f - sut.Duration) < Tolerance);
        }
Exemplo n.º 5
0
        public PlaybackBuffer(Controller controller)
        {
            _controller = controller;
            _silence    = new Silence();

            _bufferSize = TimeSpan.FromMilliseconds(Controller.GetSettings().PlaybackBufferSizeMilliSecs);

            _streamWriteProcDelegate       = OutputStreamWriteProc;
            _vizRawStreamWriteProcDelegate = VizRawStreamWriteProc;

            _notifyBufferUpdateThread = new AutoResetEvent(false);
            _updateThreadFinished     = new AutoResetEvent(false);
        }
Exemplo n.º 6
0
        void PlaySilence()
        {
            var note = new Silence(NoteDuration);

            note.NotePlayer = note.PlayWithSound;

            if (Recording)
            {
                track.Notes.Add(note);
                Console.Write(note.Name + " ");
            }

            note.Play(CurrentMusicStyle.BPM);
        }
Exemplo n.º 7
0
        public PlaybackBuffer(Controller controller)
        {
            _controller = controller;
            _silence    = new Silence();

            BassPlayerSettings settings = Controller.GetSettings();

            _bufferSize = settings.PlaybackBufferSize;

            _streamWriteProcDelegate       = OutputStreamWriteProc;
            _vizRawStreamWriteProcDelegate = VizRawStreamWriteProc;

            _notifyBufferUpdateThread = new AutoResetEvent(false);
            _updateThreadFinished     = new AutoResetEvent(false);
        }
Exemplo n.º 8
0
        /// <summary>
        /// Create a new instance of <see cref="LoopbackProvider"/>.
        /// </summary>
        /// <param name="Device"><see cref="WasapiLoopbackDevice"/> to use.</param>
        /// <param name="IncludeSilence">Whether to record silence?... default = true</param>
        public LoopbackProvider(WasapiLoopbackDevice Device, bool IncludeSilence = true)
        {
            _deviceIndex = Device.DeviceIndex;
            _proc        = Procedure;

            if (IncludeSilence)
            {
                _silencePlayer = new Silence(PlaybackDevice.Devices.First(Dev => Dev.Info.Driver == Device.Info.ID));
            }

            BassWasapi.Init(_deviceIndex, Procedure: _proc);
            BassWasapi.CurrentDevice = Device.DeviceIndex;

            var info = BassWasapi.Info;

            WaveFormat = WaveFormat.CreateIeeeFloatWaveFormat(info.Frequency, info.Channels);
        }
Exemplo n.º 9
0
        public void TestSilence()
        {
            B.StartBattle();

            Silence effectA = new Silence();

            Dictionary <string, Effect> effectsA = new Dictionary <string, Effect>();

            effectsA.Add("Silence", effectA);

            OnFire effectB = new OnFire();

            Dictionary <string, Effect> effectsB = new Dictionary <string, Effect>();

            effectsB.Add("OnFire", effectB);

            Deck dA = new Deck();

            dA.AddCard(new SpellCard("TestSpell", new ElementType("fire", "grass", "water"), 40, effectsA));
            userA.SetBattleDeck(dA);

            Deck dB = new Deck();

            dB.AddCard(new MonsterCard("TestMonster", new ElementType("grass", "water", "fire"), 30, effectsB, new Human()));
            userB.SetBattleDeck(dB);

            Card cA = userA.GetBattleDeck().GetCard("TestSpell");
            Card cB = userB.GetBattleDeck().GetCard("TestMonster");

            userA.SetBattleDeck(new Deck());
            userB.SetBattleDeck(new Deck());

            B.MatchCards(cA, cB);

            Dictionary <string, Card> cardsA;

            userA.GetBattleDeck().GetCards(out cardsA);

            Dictionary <string, Card> cardsB;

            userB.GetBattleDeck().GetCards(out cardsB);

            cardsA.TryGetValue("TestMonster", out Card c);

            Assert.AreEqual(0, c.effects.Count); //Es sollten eigentlich 2 und 0 Karten sein aber da die Karten beim Draw aus dem Deck entfernt werden und nach der Runde beim Gewinner wieder
        }
Exemplo n.º 10
0
        /// <summary>
        /// Creates a new instance of <see cref="Loopback"/> capture.
        /// </summary>
        /// <param name="Device">The <see cref="WasapiLoopbackDevice"/> to use.</param>
        /// <param name="IncludeSilence">Whether to include Silence in the Capture.</param>
        public Loopback(WasapiLoopbackDevice Device, bool IncludeSilence = true)
        {
            _device = Device;

            if (IncludeSilence)
            {
                var playbackDevice = PlaybackDevice.Devices.First(Dev => Dev.Info.Driver == Device.Info.ID);

                _silencePlayer = new Silence(playbackDevice);
            }

            Device.Init();
            Device.Callback += Processing;

            var info = Device.Info;

            AudioFormat = WaveFormat.FromParams(info.MixFrequency, info.MixChannels, Resolution.Float);
        }
Exemplo n.º 11
0
        /// <summary>
        /// Creates a new instance of <see cref="Loopback"/> capture.
        /// </summary>
        /// <param name="Device">The <see cref="WasapiLoopbackDevice"/> to use.</param>
        /// <param name="IncludeSilence">Whether to include Silence in the Capture.</param>
        public Loopback(WasapiLoopbackDevice Device, bool IncludeSilence = true)
        {
            _device = Device;

            if (IncludeSilence)
            {
                var playbackDevice = PlaybackDevice.Devices.First(Dev => Dev.Info.Driver == Device.Info.ID);

                _silencePlayer = new Silence(playbackDevice);
            }

            Device.Init();
            Device.Callback += Processing;

            var info = Device.Info;

            AudioFormat = WaveFormat.FromParams(info.MixFrequency, info.MixChannels, Resolution.Float);
        }
Exemplo n.º 12
0
        private static bool IsEzKillable()
        {
            if (!Menu.Item("ezKillCheck").GetValue <bool>())
            {
                return(false);
            }
            int  totalDamage = 0;
            int  plusPerc    = 0;
            uint reqMana     = 0;

            if (Ethereal != null && Ethereal.CanBeCasted() &&
                Menu.Item("magicItems").GetValue <AbilityToggler>().IsEnabled(Ethereal.Name))
            {
                totalDamage +=
                    (int)
                    Target.SpellDamageTaken((int)(Me.TotalIntelligence * 2) + 75, DamageType.Magical, Me,
                                            Ethereal.Name);
                plusPerc += 40;
                reqMana  += Ethereal.ManaCost;
            }

            if (Veil != null && Veil.CanBeCasted() &&
                Menu.Item("magicItems").GetValue <AbilityToggler>().IsEnabled(Veil.Name))
            {
                plusPerc += 25;
                reqMana  += Veil.ManaCost;
            }


            if (Silence != null && Silence.CanBeCasted() &&
                Menu.Item("abilities").GetValue <AbilityToggler>().IsEnabled(Silence.Name))
            {
                plusPerc += (int)((Silence.Level - 1) * 5 + 30);
                reqMana  += Silence.ManaCost;
            }


            if (Dagon != null && Dagon.CanBeCasted()
                /*Menu.Item("magicItems").GetValue<AbilityToggler>().IsEnabled("item_dagon")*/)
            {
                totalDamage +=
                    (int)
                    Target.SpellDamageTaken(Dagon.GetAbilityData("damage"), DamageType.Magical, Me, Dagon.Name,
                                            minusMagicResistancePerc: plusPerc);
                reqMana += Dagon.ManaCost;
            }


            if (Bolt != null && Bolt.CanBeCasted() &&
                Menu.Item("abilities").GetValue <AbilityToggler>().IsEnabled(Bolt.Name))
            {
                if (Bolt.Level < 4)
                {
                    totalDamage +=
                        (int)
                        Target.SpellDamageTaken((Bolt.GetAbilityData("bolt_damage") + Me.TotalIntelligence * 1.6f) * 1,
                                                DamageType.Magical, Me, Bolt.Name, minusMagicResistancePerc: plusPerc);
                    reqMana += Bolt.ManaCost;
                }

                else
                {
                    totalDamage +=
                        (int)
                        Target.SpellDamageTaken((Bolt.GetAbilityData("bolt_damage") + Me.TotalIntelligence * 1.6f) * 2,
                                                DamageType.Magical, Me, Bolt.Name, minusMagicResistancePerc: plusPerc);
                    reqMana += Bolt.ManaCost * 2;
                }
            }

            if (Slow != null && Slow.CanBeCasted() &&
                Menu.Item("abilities").GetValue <AbilityToggler>().IsEnabled(Slow.Name))
            {
                totalDamage +=
                    (int)
                    Target.SpellDamageTaken(Slow.GetAbilityData("damage"), DamageType.Magical, Me, Slow.Name,
                                            minusMagicResistancePerc: plusPerc);
                reqMana += Slow.ManaCost;
            }


            if (Me.CanAttack())
            {
                totalDamage += (int)Target.DamageTaken(Me.DamageAverage * 2, DamageType.Physical, Me);
            }

            return(reqMana < Me.Mana && Target.Health < totalDamage);
        }
Exemplo n.º 13
0
        private static void ComboUsage(EventArgs args)
        {
            if (!Game.IsInGame || Game.IsPaused || Game.IsWatchingGame || Game.IsChatOpen)
            {
                return;
            }

            Target = Me.ClosestToMouseTarget(ClosestToMouseRange.GetValue <Slider>().Value);
            if (Game.IsKeyDown(ComboKey.GetValue <KeyBind>().Key))
            {
                GetAbilities();

                if (Target == null || !Target.IsValid || !Target.IsVisible || Target.IsIllusion || !Target.IsAlive ||
                    Me.IsChanneling() || Target.IsInvul() || HasModifiers())
                {
                    return;
                }

                if (Target.IsLinkensProtected())
                {
                    PopLinkens(Cyclone);
                    PopLinkens(ForceStaff);
                    PopLinkens(Atos);
                    PopLinkens(Sheep);
                    PopLinkens(Orchid);
                    PopLinkens(Dagon);
                    PopLinkens(Silence);
                }
                else
                {
                    if (!Utils.SleepCheck("combosleep"))
                    {
                        return;
                    }

                    Orbwalk();

                    if (Target.Distance2D(Me.Position) < 700)
                    {
                        if (Utils.SleepCheck("ezkill"))
                        {
                            EzKill = IsEzKillable();
                            Utils.Sleep(5000, "ezkill");
                        }
                    }

                    if (Soulring != null && Soulring.CanBeCasted() && SoulRing.GetValue <bool>())
                    {
                        Soulring.UseAbility();
                    }

                    if (!Target.UnitState.HasFlag(UnitState.Hexed) && !Target.UnitState.HasFlag(UnitState.Stunned))
                    {
                        UseItem(Sheep, Sheep.GetCastRange());
                    }

                    UseBlink();
                    CastAbility(Silence, Silence.GetCastRange());
                    CastAbility(Bolt, Bolt.GetCastRange());
                    CastAbility(Slow, Slow.GetCastRange());

                    UseItem(Atos, Atos.GetCastRange(), 140);
                    UseItem(Medal, Medal.GetCastRange());
                    UseItem(Orchid, Orchid.GetCastRange());
                    UseItem(Bloodthorn, Bloodthorn.GetCastRange());
                    UseItem(Veil, Veil.GetCastRange());
                    UseItem(Ethereal, Ethereal.GetCastRange());

                    UseDagon();

                    CastUltimate();

                    UseItem(Shivas, Shivas.GetCastRange());

                    Utils.Sleep(150, "combosleep");
                }
            }

            if (Game.IsKeyDown(HarassKey.GetValue <KeyBind>().Key))
            {
                GetAbilities();
                if (Target == null || !Target.IsValid || !Target.IsVisible || Target.IsIllusion || !Target.IsAlive ||
                    Me.IsChanneling() || Target.IsInvul() || HasModifiers())
                {
                    return;
                }
                if (!Utils.SleepCheck("harasssleep"))
                {
                    return;
                }
                Orbwalk();
                CastAbility(Bolt, Bolt.GetCastRange());
                Utils.Sleep(150, "harasssleep");
            }
        }
Exemplo n.º 14
0
 void Start()
 {
     speakBehavior = new Silence();
     moveBehavior  = new Swim();
 }
 protected AbstractOutputDevice(Controller controller)
 {
     _controller  = controller;
     _deviceState = DeviceState.Stopped;
     _silence     = new Silence();
 }
Exemplo n.º 16
0
        public DirectXOutputDevice(Controller controller)
        {
            _controller              = controller;
            _deviceState             = DeviceState.Stopped;
            _streamWriteProcDelegate = OutputStreamWriteProc;
            _silence = new Silence();

            _deviceNo = GetDeviceNo();

            BASSInit flags = BASSInit.BASS_DEVICE_DEFAULT;

            // Because all deviceinfo is saved in a static dictionary,
            // we need to determine the latency only once.
            if (!_deviceInfos.ContainsKey(_deviceNo))
            {
                flags |= BASSInit.BASS_DEVICE_LATENCY;
            }

            bool result = Bass.BASS_Init(
                _deviceNo,
                44100, //Only relevant for -> pre-XP (VxD drivers)
                flags,
                IntPtr.Zero);

            BASSError?bassInitErrorCode = result ? null : new BASSError?(Bass.BASS_ErrorGetCode());

            // If the GetDeviceNo() method returned BassConstants.BassDefaultDevice, we must request the actual device number
            // of the choosen default device
            _deviceNo = Bass.BASS_GetDevice();

            if (bassInitErrorCode.HasValue)
            {
                if (bassInitErrorCode.Value == BASSError.BASS_ERROR_ALREADY)
                {
                    if (!Bass.BASS_SetDevice(_deviceNo))
                    {
                        throw new BassLibraryException("BASS_SetDevice");
                    }
                    bassInitErrorCode = null;
                }
            }

            if (bassInitErrorCode.HasValue)
            {
                throw new BassLibraryException("BASS_Init", bassInitErrorCode.Value);
            }

            CollectDeviceInfo(_deviceNo);

            int ms = Convert.ToInt32(Controller.GetSettings().DirectSoundBufferSize.TotalMilliseconds);

            if (!Bass.BASS_SetConfig(BASSConfig.BASS_CONFIG_BUFFER, ms))
            {
                throw new BassLibraryException("BASS_SetConfig");
            }

            // Enable update thread while the output device is active
            if (!Bass.BASS_SetConfig(BASSConfig.BASS_CONFIG_UPDATEPERIOD, ms / 4))
            {
                throw new BassLibraryException("BASS_SetConfig");
            }
        }
Exemplo n.º 17
0
 public Fish()
 {
     Name               = Fish;
     MoveBehaviour      = new Swim();
     MakeSoundBehaviour = new Silence();
 }