Ejemplo n.º 1
0
    public void AddScore(ComboResult combo)
    {
        switch (combo)
        {
        case ComboResult.Good:
            Score += 60;
            combo++;
            AddHP();
            break;

        case ComboResult.Great:
            Score += 80;
            combo++;
            AddHP();
            break;

        case ComboResult.Perfect:
            Score += 100;
            combo++;
            AddHP();
            break;

        default:
            break;
        }
    }
Ejemplo n.º 2
0
        private static ComboResult GetComboResult(Obj_AI_Hero target)
        {
            if (!target.IsValidTarget())
            {
                return(new ComboResult());
            }

            var result    = new ComboResult();
            var comboMana = 0f;
            var comboDmg  = 0f;

            foreach (var spell in Spells.Where(spell => spell.Level > 0))
            {
                try
                {
                    var damage = spell.GetDamage(target);
                    if (damage > 0)
                    {
                        comboDmg  += spell.GetDamage(target);
                        comboMana += spell.Instance.ManaCost;
                        result.Spells.Add(spell.Slot);
                        if (comboDmg > target.Health)
                        {
                            break;
                        }
                    }
                }
                catch (Exception) { }
            }

            if (Ignite != null && Ignite.State == SpellState.Ready && target.Health > comboDmg)
            {
                comboDmg += (float)ObjectManager.Player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite);
            }

            result.Damage     = comboDmg;
            result.IsKillable = comboDmg > target.Health && ObjectManager.Player.Mana > comboMana;
            result.ManaCost   = comboMana;

            if (result.IsKillable)
            {
                result.Text = string.Join("|", result.Spells);
            }
            if (ObjectManager.Player.Mana < comboMana)
            {
                result.Text = "LOW MANA";
            }
            if (string.IsNullOrWhiteSpace(result.Text))
            {
                result.Text = " ";
            }

            return(result);
        }
Ejemplo n.º 3
0
        private static Protocol DetermineProtocol(ComboResult combo0, ComboResult combo1)
        {
            if (combo0.Protocol == combo1.Protocol)
            {
                return(combo0.Protocol);
            }
            if (combo0.Protocol != Protocol.ANY)
            {
                return(combo0.Protocol);
            }
            if (combo1.Protocol != Protocol.ANY)
            {
                return(combo1.Protocol);
            }

            return(Protocol.ANY);
        }
Ejemplo n.º 4
0
        private static ComboResult GetCombo(string combo)
        {
            ComboResult result = new ComboResult();

            var tokens = combo.Split('/', ' ');

            foreach (var token in tokens)
            {
                //Console.WriteLine($"'{token}'");
                if (token == "anywhere")
                {
                    result.Address = Rule.ANY_IP_ADDRESS;
                    continue;
                }

                if (token == "tcp")
                {
                    result.Protocol = Protocol.TCP;
                    continue;
                }

                if (token == "udp")
                {
                    result.Protocol = Protocol.UDP;
                    continue;
                }

                ushort port;
                if (ushort.TryParse(token, out port))
                {
                    result.Port = port;
                    continue;
                }

                IPAddress address;
                if (IPAddress.TryParse(token, out address))
                {
                    result.Address = address.ToString();
                    continue;
                }
            }

            return(result);
        }
Ejemplo n.º 5
0
    //결과에 따라 팝 처리
    public void TryPop()
    {
        ComboResult result = CheackCombo();

        switch (result)
        {
        case ComboResult.None:

            return;

        //miss가 뜬다면 다시 누를 수 없어야 된다
        case ComboResult.Miss:
            print("Miss");
            Line.First.Value.PopNode();
            Line.RemoveFirst();
            break;

        case ComboResult.Good:
            timer = 0.0f;
            print("Good!");
            Line.First.Value.PopNode();
            Line.RemoveFirst();
            break;

        case ComboResult.Great:
            timer = 0.0f;
            print("Great!");
            Line.First.Value.PopNode();
            Line.RemoveFirst();
            break;

        case ComboResult.Perfect:
            timer = 0.0f;
            print("Perfcet!!");
            Line.First.Value.PopNode();
            Line.RemoveFirst();
            break;
        }
        MusicPlayer.Instance.AddScore(result);
    }
Ejemplo n.º 6
0
        private ComboResult GetComboResult(Obj_AI_Hero target)
        {
            if (!target.IsValidTarget())
            {
                return(new ComboResult());
            }

            var player    = ObjectManager.Player;
            var result    = new ComboResult();
            var comboMana = 0f;
            var comboDmg  = 0d;

            foreach (var item in _items.Where(item => item.IsReady()))
            {
                switch (item.Id)
                {
                case 3128: comboDmg += player.GetItemDamage(target, Damage.DamageItems.Dfg); break;

                case 3077: comboDmg += player.GetItemDamage(target, Damage.DamageItems.Tiamat); break;

                case 3074: comboDmg += player.GetItemDamage(target, Damage.DamageItems.Hydra); break;

                case 3146: comboDmg += player.GetItemDamage(target, Damage.DamageItems.Hexgun); break;

                case 3144: comboDmg += player.GetItemDamage(target, Damage.DamageItems.Bilgewater); break;

                case 3153: comboDmg += player.GetItemDamage(target, Damage.DamageItems.Botrk); break;
                }

                if (comboDmg > target.Health)
                {
                    break;
                }
            }

            foreach (var spell in _spells.Where(spell => spell.Level > 0))
            {
                try
                {
                    comboDmg  += spell.GetDamage(target, 1);
                    comboMana += spell.Instance.ManaCost;
                    result.Spells.Add(spell.Slot);

                    if (comboDmg > target.Health)
                    {
                        break;
                    }
                }
                catch
                {
                }
            }

            if (_ignite != null && _ignite.State == SpellState.Ready && target.Health > comboDmg)
            {
                comboDmg += player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite);
            }

            result.IsKillable = comboDmg > target.Health && player.Mana > comboMana;
            result.ManaCost   = comboMana;

            if (result.IsKillable)
            {
                result.Text = string.Join("/", result.Spells);
            }

            if (player.Mana < comboMana)
            {
                result.Text = "LOW MANA";
            }

            return(result);
        }
Ejemplo n.º 7
0
        private ComboResult GetComboResult(Obj_AI_Hero target)
        {
            if (!target.IsValidTarget())
                return new ComboResult();

            var player = ObjectManager.Player;
            var result = new ComboResult();
            var comboMana = 0f;
            var comboDmg = 0d;

            foreach (var item in _items.Where(item => item.IsReady()))
            {
                switch (item.Id)
                {
                    case 3077: comboDmg += player.GetItemDamage(target, Damage.DamageItems.Tiamat); break;
                    case 3074: comboDmg += player.GetItemDamage(target, Damage.DamageItems.Hydra); break;
                    case 3146: comboDmg += player.GetItemDamage(target, Damage.DamageItems.Hexgun); break;
                    case 3144: comboDmg += player.GetItemDamage(target, Damage.DamageItems.Bilgewater); break;
                    case 3153: comboDmg += player.GetItemDamage(target, Damage.DamageItems.Botrk); break;
                }

                if (comboDmg > target.Health)
                    break;
            }

            foreach (var spell in _spells.Where(spell => spell.Level > 0))
            {
                try
                {
                    comboDmg += spell.GetDamage(target, 1);
                    comboMana += spell.Instance.ManaCost;
                    result.Spells.Add(spell.Slot);

                    if (comboDmg > target.Health)
                        break;
                }
                catch
                {
                }
            }

            if (_ignite != null && _ignite.State == SpellState.Ready && target.Health >  comboDmg)
            {
                comboDmg += player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite);
            }

            result.IsKillable = comboDmg > target.Health && player.Mana > comboMana;
            result.ManaCost = comboMana;

            if (result.IsKillable)
                result.Text = string.Join("/", result.Spells);

            if (player.Mana < comboMana)
                result.Text = "LOW MANA";

            return result;
        }
Ejemplo n.º 8
0
        private static ComboResult GetComboResult(Obj_AI_Hero target)
        {
            if (!target.IsValidTarget())
                return new ComboResult();

            var result = new ComboResult();
            var comboMana = 0f;
            var comboDmg = 0f;

            foreach (var spell in Spells.Where(spell => spell.Level > 0))
            {
                try
                {
                    var damage = spell.GetDamage(target);
                    if (damage > 0)
                    {
                        comboDmg += spell.GetDamage(target);
                        comboMana += spell.Instance.ManaCost;
                        result.Spells.Add(spell.Slot);
                        if (comboDmg > target.Health)
                            break;
                    }
                }
                catch (Exception) { }
            }

            if (Ignite != null && Ignite.State == SpellState.Ready && target.Health > comboDmg)
            {
                comboDmg += (float)ObjectManager.Player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite);
            }

            result.Damage = comboDmg;
            result.IsKillable = comboDmg > target.Health && ObjectManager.Player.Mana > comboMana;
            result.ManaCost = comboMana;

            if (result.IsKillable)
                result.Text = string.Join("|", result.Spells);
            if (ObjectManager.Player.Mana < comboMana)
                result.Text = "LOW MANA";
            if (string.IsNullOrWhiteSpace(result.Text))
                result.Text = " ";

            return result;
        }