public void PaintWorld(WorldLayer layer)
        {
            foreach (var marker in Hud.Game.Markers)
            {
                if (showDirectionLine && marker.SnoActor != null)
                {
                    if (marker.SnoActor.Code.Contains("Boss"))
                    {
                        BossDirectionLineDecorator.ToggleDecorators <GroundLabelDecorator>(!marker.FloorCoordinate.IsOnScreen());                        // do not display ground labels when the marker is on the screen
                        BossDirectionLineDecorator.Paint(layer, null, marker.FloorCoordinate, marker.Name);
                    }
                }
            }
            var monsters = Hud.Game.AliveMonsters;

            foreach (var monster in monsters)
            {
                if (monster.Rarity == ActorRarity.Boss && monster.SummonerAcdDynamicId == 0)
                {
                    if (showDirectionLine && showMiniMapLine)
                    {
                        BossDirectionLineDecorator.ToggleDecorators <GroundLabelDecorator>(!monster.FloorCoordinate.IsOnScreen()); // do not display ground labels when the marker is on the screen
                        BossDirectionLineDecorator.Paint(layer, null, monster.FloorCoordinate, null);
                    }
                    if (showDirectionLine && showGroundLine)
                    {
                        IScreenCoordinate boss = Hud.Window.CreateScreenCoordinate(monster.FloorCoordinate.ToScreenCoordinate().X, monster.FloorCoordinate.ToScreenCoordinate().Y);
                        Hud.Render.CreateBrush(192, 255, 255, 55, -1).DrawLine(boss.X, boss.Y, Hud.Game.Me.ScreenCoordinate.X, Hud.Game.Me.ScreenCoordinate.Y + 60, 1.0f);
                    }
                    if ((showCCoffMessage) && (!monster.Frozen && !monster.Chilled && !monster.Slow && !monster.Stunned && !monster.Blind))
                    {
                        var    CCofftime     = (Hud.Game.CurrentGameTick - CCoffStarttick) / 60.0d;
                        String CCofftimetext = "CC 없음 " + Math.Truncate(CCofftime) + "초";;
                        if (!CCofftimerRunning)
                        {
                            CCoffStarttick    = Hud.Game.CurrentGameTick;
                            CCofftimerRunning = true;
                        }
                        BossCCDecorator.Paint(layer, monster, monster.FloorCoordinate.Offset(0, 0, offset), CCofftimetext);
                    }

                    if ((showCCoffMessage) && (monster.Frozen || monster.Chilled || monster.Slow || monster.Stunned || monster.Blind))
                    {
                        if (CCofftimerRunning)
                        {
                            CCofftimerRunning = false;
                        }
                    }
                    string data1 = "";
                    if (monster.Frozen && showCC)
                    {
                        data1 += "빙결";
                        BossCCDecorator.Paint(layer, monster, monster.FloorCoordinate.Offset(0, 0, offset), data1);
                    }
                    if (monster.Chilled && showCC)
                    {
                        data1 += " 오한";
                        BossCCDecorator.Paint(layer, monster, monster.FloorCoordinate.Offset(0, 0, offset), data1);
                    }
                    if (monster.Slow && showCC)
                    {
                        data1 += " 느림";
                        BossCCDecorator.Paint(layer, monster, monster.FloorCoordinate.Offset(0, 0, offset), data1);
                    }
                    if (monster.Stunned && showCC)
                    {
                        data1 += " 기절";
                        BossCCDecorator.Paint(layer, monster, monster.FloorCoordinate.Offset(0, 0, offset), data1);
                    }
                    if (monster.Blind && showCC)
                    {
                        data1 += " 실명";
                        BossCCDecorator.Paint(layer, monster, monster.FloorCoordinate.Offset(0, 0, offset), data1);
                    }
                    if (monster.Locust && showDebuff)
                    {
                        data1 += " 메뚜기";
                        BossDebuffDecorator.Paint(layer, monster, monster.FloorCoordinate.Offset(0, 0, offset), data1);
                    }
                    if (monster.Haunted && showDebuff)
                    {
                        data1 += " 혼출";
                        BossDebuffDecorator.Paint(layer, monster, monster.FloorCoordinate.Offset(0, 0, offset), data1);
                    }
                    if (monster.Palmed && showDebuff)
                    {
                        data1 += " 폭장";
                        BossDebuffDecorator.Paint(layer, monster, monster.FloorCoordinate.Offset(0, 0, offset), data1);
                    }
                    if (monster.MarkedForDeath && showDebuff)
                    {
                        data1 += " 죽표";
                        BossDebuffDecorator.Paint(layer, monster, monster.FloorCoordinate.Offset(0, 0, offset), data1);
                    }
                    if (monster.Strongarmed && showDebuff)
                    {
                        data1 += " 팔씨름";
                        BossDebuffDecorator.Paint(layer, monster, monster.FloorCoordinate.Offset(0, 0, offset), data1);
                    }
                }
            }
        }
Exemple #2
0
        public void PaintWorld(WorldLayer layer)
        {
            foreach (var marker in Hud.Game.Markers)
            {
                if (showDirectionLine && marker.SnoActor != null)
                {
                    if (marker.SnoActor.Code.Contains("Boss"))
                    {
                        BossDirectionLineDecorator.ToggleDecorators <GroundLabelDecorator>(!marker.FloorCoordinate.IsOnScreen());                        // do not display ground labels when the marker is on the screen
                        BossDirectionLineDecorator.Paint(layer, null, marker.FloorCoordinate, marker.Name);
                    }
                }
            }
            var monsters = Hud.Game.AliveMonsters;

            foreach (var monster in monsters)
            {
                if (monster.Rarity == ActorRarity.Boss)
                {
                    if (showDirectionLine && monster.IsOnScreen)
                    {
                        BossDirectionLineDecorator.ToggleDecorators <GroundLabelDecorator>(!monster.FloorCoordinate.IsOnScreen()); // do not display ground labels when the marker is on the screen
                        BossDirectionLineDecorator.Paint(layer, null, monster.FloorCoordinate, null);
                    }
                    if ((showCCoffMessage) && (!monster.Frozen && !monster.Chilled && !monster.Slow && !monster.Stunned && !monster.Blind))
                    {
                        var    CCofftime     = (Hud.Game.CurrentGameTick - CCoffStarttick) / 60.0d;
                        String CCofftimetext = "CC off " + Math.Truncate(CCofftime) + "s";
                        if (!CCofftimerRunning)
                        {
                            CCoffStarttick    = Hud.Game.CurrentGameTick;
                            CCofftimerRunning = true;
                        }
                        BossCCDecorator.Paint(layer, monster, monster.FloorCoordinate, CCofftimetext);
                    }

                    if ((showCCoffMessage) && (monster.Frozen || monster.Chilled || monster.Slow || monster.Stunned || monster.Blind))
                    {
                        if (CCofftimerRunning)
                        {
                            CCofftimerRunning = false;
                        }
                    }
                    if (monster.Frozen && showCC)
                    {
                        BossCCDecorator.Paint(layer, monster, monster.FloorCoordinate, "Frozen");
                    }
                    if (monster.Chilled && showCC)
                    {
                        BossCCDecorator.Paint(layer, monster, monster.FloorCoordinate, "Chilled");
                    }
                    if (monster.Slow && showCC)
                    {
                        BossCCDecorator.Paint(layer, monster, monster.FloorCoordinate, "Slow");
                    }
                    if (monster.Stunned && showCC)
                    {
                        BossCCDecorator.Paint(layer, monster, monster.FloorCoordinate, "Stunned");
                    }
                    if (monster.Blind && showCC)
                    {
                        BossCCDecorator.Paint(layer, monster, monster.FloorCoordinate, "Blind");
                    }
                    if (monster.Locust && showDebuff)
                    {
                        BossDebuffDecorator.Paint(layer, monster, monster.FloorCoordinate, "Locust");
                    }
                    if (monster.Haunted && showDebuff)
                    {
                        BossDebuffDecorator.Paint(layer, monster, monster.FloorCoordinate, "Haunted");
                    }
                    if (monster.Palmed && showDebuff)
                    {
                        BossDebuffDecorator.Paint(layer, monster, monster.FloorCoordinate, "Palmed");
                    }
                    if (monster.MarkedForDeath && showDebuff)
                    {
                        BossDebuffDecorator.Paint(layer, monster, monster.FloorCoordinate, "MarkedForDeath");
                    }
                    if (monster.Strongarmed && showDebuff)
                    {
                        BossDebuffDecorator.Paint(layer, monster, monster.FloorCoordinate, "Strongarmed");
                    }
                }
            }
        }