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); } } } }
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"); } } } }