Exemplo n.º 1
0
        public void CreateBuff(ClientPoisonBuff buff)
        {
            var buffImage = BuffImage(buff.Type);

            var buffLibrary = Libraries.BuffIcon;

            if (buffImage >= 20000)
            {
                buffImage  -= 20000;
                buffLibrary = Libraries.MagIcon;
            }

            if (buffImage >= 10000)
            {
                buffImage  -= 10000;
                buffLibrary = Libraries.Prguse2;
            }

            var image = new MirImageControl
            {
                Library = buffLibrary,
                Parent  = this,
                Visible = true,
                Sort    = false,
                Index   = buffImage
            };

            _buffList.Insert(0, image);
            UpdateWindow();
        }
Exemplo n.º 2
0
        public string BuffString(ClientPoisonBuff buff)
        {
            string text          = RegexFunctions.SeperateCamelCase(buff.Type.ToString()) + "\n";
            bool   overridestats = false;

            switch (buff.Type)
            {
            case PoisonType.Green:
            {
                var tick     = buff.TickSpeed / 1000;
                var tickName = tick > 1 ? "seconds" : "second";

                text += $"Recieve {buff.Value} damage every {tick} {tickName}.\n";
            }
            break;

            case PoisonType.Red:
            {
                var tick     = buff.TickSpeed / 1000;
                var tickName = tick > 1 ? "seconds" : "second";

                text += $"Reduces armour rate by 10% every {tick} {tickName}.\n";
            }
            break;

            case PoisonType.Slow:
                text += "Reduces movement speed.\n";
                break;

            case PoisonType.Frozen:
                text += "Prevents casting, movin\nand attacking.\n";
                break;

            case PoisonType.Stun:
            {
                var tick     = buff.TickSpeed / 1000;
                var tickName = tick > 1 ? "seconds" : "second";

                text += $"Increases damage received by 20% every {tick} {tickName}.\n";
            }
            break;

            case PoisonType.Paralysis:
                text += "Prevents moving and attacking.\n";
                break;

            case PoisonType.DelayedExplosion:
                text += "Ticking time bomb.\n";
                break;

            case PoisonType.Bleeding:
            {
                var tick     = buff.TickSpeed / 1000;
                var tickName = tick > 1 ? "seconds" : "second";

                text += $"Recieve {buff.Value} damage every {tick} {tickName}.\n";
            }
            break;

            case PoisonType.LRParalysis:
                text += "Prevents moving and attacking.\nCancels when attacked\n";
                break;

            case PoisonType.Blindness:
                text += "Causes temporary blindness.\n";
                break;

            case PoisonType.Dazed:
                text += "Prevents attacking.\n";
                break;
            }

            text += string.Format(GameLanguage.Expire, Functions.PrintTimeSpanFromSeconds(Math.Round((buff.ExpireTime - CMain.Time) / 1000D)));

            if (!string.IsNullOrEmpty(buff.Caster))
            {
                text += string.Format("\nCaster: {0}", buff.Caster);
            }

            return(text);
        }