private void Drawing(DrawingContext ctx) { if (QuestLogManager.InCutscene) { return; } //Gameobject list is threadstatic, always need to pulse otherwise new objects wont show up GameObjectManager.Update(); var debug = false; if (debug) { var obj = Core.Me; DrawCircleAttack(ctx, obj); DrawSideAttack(ctx, obj); DrawSliceAttack(ctx, obj); } if (debug && Core.Me.CurrentTarget != null) { var obj = Core.Me.CurrentTarget; DrawCircleAttack(ctx, obj); DrawSideAttack(ctx, obj); DrawSliceAttack(ctx, obj); } foreach (GameObject obj in GameObjectManager.GameObjects) { if (obj.NpcId == 2010779) { // Gate "The Slise is Right" Circle attack DrawCircleAttack(ctx, obj); continue; } if (obj.NpcId == 2010778) { // Gate "The Slise is Right" Side attack DrawSideAttack(ctx, obj); continue; } if (obj.NpcId == 2010777) { // Gate "The Slise is Right" Slice(frontal?) attack DrawSliceAttack(ctx, obj); continue; } } }
private void DrawSliceAttack(DrawingContext ctx, GameObject obj) { ctx.DrawAgroLine(obj.Location, obj.Heading + (float)Math.PI / 2, 5.0f, 100.0f, Color.FromArgb(100, Color.Yellow), Color.FromArgb(100, Color.Yellow)); }
private void DrawSideAttack(DrawingContext ctx, GameObject obj) { ctx.DrawSideAttackAgroLine(obj.Location, obj.Heading, 5.0f, 50.0f, Color.FromArgb(100, Color.Blue)); }
private void DrawCircleAttack(DrawingContext ctx, GameObject obj) { ctx.DrawCircleWithPoint(obj.Location, obj.Heading, 11.0f, Color.FromArgb(100, Color.Red), Color.FromArgb(100, Color.Red)); }