Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // by StormReaver
- using System;
- namespace Turbo.Plugins.User
- {
- using SharpDX.Direct2D1;
- using System.Collections.Generic;
- using Turbo.Plugins.Default;
- public class SR_WizMirrorImages : BasePlugin, ICustomizer, IInGameWorldPainter
- {
- public WorldDecoratorCollection MirrorImageDeco { get; set; }
- public WorldDecoratorCollection MirrorImageEoWDeco { get; set; }
- public SR_WizMirrorImages()
- {
- Enabled = true;
- }
- public void Customize()
- {
- /* Hud.RunOnPlugin<PlayerSkillPlugin>(plugin =>
- {
- // disable DEFAULT
- plugin.Enabled = false;
- }); */
- }
- public override void Load(IController hud)
- {
- base.Load(hud);
- InitMapping();
- // SKill: Mirror Image
- // All runes, expect Extension of Will
- MirrorImageDeco = new WorldDecoratorCollection(
- new MapShapeDecorator(Hud)
- {
- Brush = Hud.Render.CreateBrush(220, 255, 100, 100, 2),
- ShadowBrush = Hud.Render.CreateBrush(96, 0, 0, 0, 1),
- ShapePainter = new TriangleShapePainter(Hud),
- Radius = 1.5,
- },
- new GroundCircleDecorator(Hud)
- {
- Brush = Hud.Render.CreateBrush(120, 255, 255, 0, 2.8f, DashStyle.Dash),
- Radius = 2.2f,
- },
- new GroundLabelDecorator(Hud) // offset_z="-1.5"
- {
- CountDownFrom = 7,
- TextFont = Hud.Render.CreateFont("tahoma", 8.5f, 220, 255, 255, 0, true, false, 128, 0, 0, 0, true),
- },
- new GroundTimerDecorator(Hud) // offset_z="-1.5"
- {
- Enabled = true,
- CountDownFrom = 7,
- BackgroundBrushEmpty = Hud.Render.CreateBrush(128, 0, 0, 0, 0),
- BackgroundBrushFill = Hud.Render.CreateBrush(200, 240, 70, 70, 0),
- Radius = 18,
- });
- // Extension of Will rune
- MirrorImageEoWDeco = new WorldDecoratorCollection(
- new MapShapeDecorator(Hud)
- {
- Brush = Hud.Render.CreateBrush(220, 255, 100, 100, 2),
- ShadowBrush = Hud.Render.CreateBrush(96, 0, 0, 0, 1),
- ShapePainter = new TriangleShapePainter(Hud),
- Radius = 1.5,
- },
- new GroundCircleDecorator(Hud)
- {
- Brush = Hud.Render.CreateBrush(60, 255, 255, 0, 2.8f, DashStyle.Dash),
- Radius = 2.2f,
- },
- new GroundLabelDecorator(Hud) // offset_z="-1.5"
- {
- CountDownFrom = 10,
- TextFont = Hud.Render.CreateFont("tahoma", 8.5f, 220, 255, 255, 0, true, false, 128, 0, 0, 0, true),
- },
- new GroundTimerDecorator(Hud) // offset_z="-1.5"
- {
- Enabled = true,
- CountDownFrom = 10,
- BackgroundBrushEmpty = Hud.Render.CreateBrush(128, 0, 0, 0, 0),
- BackgroundBrushFill = Hud.Render.CreateBrush(200, 0, 210, 150, 0),
- Radius = 18,
- });
- }
- private Dictionary<ActorSnoEnum, Action<WorldLayer, IActor>> _summonedByMeSnoMapping;
- private void InitMapping()
- {
- _summonedByMeSnoMapping = new Dictionary<ActorSnoEnum, Action<WorldLayer, IActor>>()
- {
- //Mirror Image
- {(ActorSnoEnum) 98010, MirrorImagePaint }, // Wizard_MirrorImage_Female
- {(ActorSnoEnum) 107916, MirrorImagePaint }, // Wizard_MirrorImage_Male
- };
- }
- public void PaintWorld(WorldLayer layer)
- {
- var actors = Hud.Game.Actors;
- foreach (var actor in actors)
- {
- /* --- Skills where "summoned_by_me" works --- */
- if (actor.SummonerAcdDynamicId == Hud.Game.Me.SummonerId) // summoned_by_me
- {
- if (_summonedByMeSnoMapping.TryGetValue(actor.SnoActor.Sno, out var summonedByMeAction))
- {
- summonedByMeAction?.Invoke(layer, actor);
- }
- }
- }
- }
- private void MirrorImagePaint(WorldLayer layer, IActor actor)
- {
- var skill = Hud.Game.Me.Powers.UsedWizardPowers.MirrorImage;
- if (skill != null)
- {
- if (skill.Rune == 3) // with Extension of Will, Rune 3
- {
- MirrorImageEoWDeco.Paint(layer, actor, actor.FloorCoordinate, null);
- }
- else // with all other runes
- {
- MirrorImageDeco.Paint(layer, actor, actor.FloorCoordinate, null);
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment