Exemplo n.º 1
0
        public override void Load(IController hud)
        {
            base.Load(hud);

            CustomSpeakTable.Add(Hud.Sno.SnoItems.x1_Diamond_10, "x");

            LegendaryDecorator = new WorldDecoratorCollection(
                new GroundCircleDecorator(Hud)
            {
                Brush  = Hud.Render.CreateBrush(192, 235, 120, 0, -2),
                Radius = 1.5f,
            },
                new GroundLabelDecorator(Hud)
            {
                BackgroundBrush = Hud.Render.CreateBrush(160, 0, 0, 0, 0),
                BorderBrush     = Hud.Render.CreateBrush(0, 0, 0, 0, 0),
                TextFont        = Hud.Render.CreateFont("tahoma", 7, 255, 235, 120, 0, true, false, false)
            },
                new MapShapeDecorator(Hud)
            {
                ShapePainter        = new RotatingTriangleShapePainter(Hud),
                Brush               = Hud.Render.CreateBrush(255, 255, 160, 0, 3),
                ShadowBrush         = Hud.Render.CreateBrush(96, 0, 0, 0, 1),
                Radius              = 8,
                RadiusTransformator = new StandardPingRadiusTransformator(Hud, 333),
            }
                );

            AncientDecorator = new WorldDecoratorCollection(
                new GroundCircleDecorator(Hud)
            {
                Brush  = Hud.Render.CreateBrush(192, 255, 140, 0, -3),
                Radius = 2.2f,
                RadiusTransformator = new StandardPingRadiusTransformator(Hud, 500),
            },
                new GroundLabelDecorator(Hud)
            {
                BackgroundBrush = Hud.Render.CreateBrush(160, 255, 140, 0, 0),
                BorderBrush     = Hud.Render.CreateBrush(160, 0, 0, 0, -1),
                TextFont        = Hud.Render.CreateFont("tahoma", 7, 255, 0, 0, 0, true, false, false)
            },
                new MapShapeDecorator(Hud)
            {
                ShapePainter        = new RotatingTriangleShapePainter(Hud),
                Brush               = Hud.Render.CreateBrush(255, 255, 120, 0, 3),
                ShadowBrush         = Hud.Render.CreateBrush(96, 0, 0, 0, 1),
                Radius              = 11,
                RadiusTransformator = new StandardPingRadiusTransformator(Hud, 333),
            }
                );

            PrimalDecorator = new WorldDecoratorCollection(
                new GroundCircleDecorator(Hud)
            {
                Brush  = Hud.Render.CreateBrush(192, 255, 140, 0, -3),
                Radius = 2.2f,
                RadiusTransformator = new StandardPingRadiusTransformator(Hud, 500),
            },
                new GroundLabelDecorator(Hud)
            {
                BackgroundBrush = Hud.Render.CreateBrush(160, 255, 140, 0, 0),
                BorderBrush     = Hud.Render.CreateBrush(242, 255, 0, 0, 1),
                TextFont        = Hud.Render.CreateFont("tahoma", 7, 255, 0, 0, 0, true, false, false)
            },
                new MapShapeDecorator(Hud)
            {
                ShapePainter        = new RotatingTriangleShapePainter(Hud),
                Brush               = Hud.Render.CreateBrush(255, 255, 120, 0, 3),
                ShadowBrush         = Hud.Render.CreateBrush(96, 0, 0, 0, 1),
                Radius              = 11,
                RadiusTransformator = new StandardPingRadiusTransformator(Hud, 333),
            }
                );

            SetDecorator = new WorldDecoratorCollection(
                new GroundCircleDecorator(Hud)
            {
                Brush  = Hud.Render.CreateBrush(192, 50, 220, 50, -2),
                Radius = 1.5f,
            },
                new GroundLabelDecorator(Hud)
            {
                BackgroundBrush = Hud.Render.CreateBrush(160, 0, 0, 0, 0),
                BorderBrush     = Hud.Render.CreateBrush(0, 0, 0, 0, 0),
                TextFont        = Hud.Render.CreateFont("tahoma", 7, 255, 0, 170, 0, true, false, false)
            },
                new MapShapeDecorator(Hud)
            {
                ShapePainter        = new RotatingTriangleShapePainter(Hud),
                Brush               = Hud.Render.CreateBrush(255, 160, 255, 0, 3),
                ShadowBrush         = Hud.Render.CreateBrush(96, 0, 0, 0, 1),
                Radius              = 8,
                RadiusTransformator = new StandardPingRadiusTransformator(Hud, 333),
            }
                );

            AncientSetDecorator = new WorldDecoratorCollection(
                new GroundCircleDecorator(Hud)
            {
                Brush  = Hud.Render.CreateBrush(192, 85, 255, 85, -3),
                Radius = 2.2f,
                RadiusTransformator = new StandardPingRadiusTransformator(Hud, 500),
            },
                new GroundLabelDecorator(Hud)
            {
                BackgroundBrush = Hud.Render.CreateBrush(160, 50, 220, 50, 0),
                BorderBrush     = Hud.Render.CreateBrush(160, 0, 0, 0, -1),
                TextFont        = Hud.Render.CreateFont("tahoma", 7, 255, 0, 0, 0, true, false, false)
            },
                new MapShapeDecorator(Hud)
            {
                ShapePainter        = new RotatingTriangleShapePainter(Hud),
                Brush               = Hud.Render.CreateBrush(255, 120, 255, 0, 3),
                ShadowBrush         = Hud.Render.CreateBrush(96, 0, 0, 0, 1),
                Radius              = 11,
                RadiusTransformator = new StandardPingRadiusTransformator(Hud, 333),
            }
                );

            PrimalSetDecorator = new WorldDecoratorCollection(
                new GroundCircleDecorator(Hud)
            {
                Brush  = Hud.Render.CreateBrush(192, 85, 255, 85, -3),
                Radius = 2.2f,
                RadiusTransformator = new StandardPingRadiusTransformator(Hud, 500),
            },
                new GroundLabelDecorator(Hud)
            {
                BackgroundBrush = Hud.Render.CreateBrush(160, 50, 220, 50, 0),
                BorderBrush     = Hud.Render.CreateBrush(242, 255, 0, 0, 1),
                TextFont        = Hud.Render.CreateFont("tahoma", 7, 255, 0, 0, 0, true, false, false)
            },
                new MapShapeDecorator(Hud)
            {
                ShapePainter        = new RotatingTriangleShapePainter(Hud),
                Brush               = Hud.Render.CreateBrush(255, 120, 255, 0, 3),
                ShadowBrush         = Hud.Render.CreateBrush(96, 0, 0, 0, 1),
                Radius              = 11,
                RadiusTransformator = new StandardPingRadiusTransformator(Hud, 333),
            }
                );

            UtilityDecorator = new WorldDecoratorCollection(
                new GroundCircleDecorator(Hud)
            {
                Brush  = Hud.Render.CreateBrush(192, 255, 160, 0, -3),
                Radius = 1.5f,
            },
                new MapShapeDecorator(Hud)
            {
                ShapePainter        = new RotatingTriangleShapePainter(Hud),
                Brush               = Hud.Render.CreateBrush(255, 255, 160, 0, 3),
                ShadowBrush         = Hud.Render.CreateBrush(96, 0, 0, 0, 1),
                Radius              = 8,
                RadiusTransformator = new StandardPingRadiusTransformator(Hud, 333),
            }
                );

            NormalKeepDecorator = new WorldDecoratorCollection(
                new GroundCircleDecorator(Hud)
            {
                Brush  = Hud.Render.CreateBrush(192, 200, 200, 200, -2),
                Radius = 1.25f,
            }
                );
            // disabled by default
            NormalKeepDecorator.Enabled = false;

            MagicKeepDecorator = new WorldDecoratorCollection(
                new GroundCircleDecorator(Hud)
            {
                Brush  = Hud.Render.CreateBrush(192, 60, 60, 255, -2),
                Radius = 1.25f,
            }
                );
            // disabled by default
            MagicKeepDecorator.Enabled = false;

            RareKeepDecorator = new WorldDecoratorCollection(
                new GroundCircleDecorator(Hud)
            {
                Brush  = Hud.Render.CreateBrush(192, 255, 255, 0, -2),
                Radius = 1.25f,
                RadiusTransformator = new StandardPingRadiusTransformator(Hud, 333),
            },
                new MapShapeDecorator(Hud)
            {
                ShapePainter        = new CircleShapePainter(Hud),
                Brush               = Hud.Render.CreateBrush(255, 255, 255, 0, 0),
                ShadowBrush         = Hud.Render.CreateBrush(96, 0, 0, 0, 1),
                Radius              = 6,
                RadiusTransformator = new StandardPingRadiusTransformator(Hud, 333),
            }
                );
            // disabled by default
            RareKeepDecorator.Enabled = false;

            LegendaryKeepDecorator = new WorldDecoratorCollection(
                new GroundCircleDecorator(Hud)
            {
                Brush  = Hud.Render.CreateBrush(192, 235, 120, 0, -2),
                Radius = 1.25f,
                RadiusTransformator = new StandardPingRadiusTransformator(Hud, 333),
            },
                new MapShapeDecorator(Hud)
            {
                ShapePainter        = new CircleShapePainter(Hud),
                Brush               = Hud.Render.CreateBrush(255, 255, 160, 0, 0),
                ShadowBrush         = Hud.Render.CreateBrush(96, 0, 0, 0, 1),
                Radius              = 6,
                RadiusTransformator = new StandardPingRadiusTransformator(Hud, 333),
            }
                );

            BookDecorator = new WorldDecoratorCollection(
                new GroundCircleDecorator(Hud)
            {
                Brush  = Hud.Render.CreateBrush(255, 0, 255, 0, -2),
                Radius = 1.0f,
            }
                );

            DeathsBreathDecorator = new WorldDecoratorCollection(
                new MapTextureDecorator(Hud)
            {
                SnoItem             = Hud.Inventory.GetSnoItem(2087837753),
                Radius              = 0.6f,
                RadiusTransformator = new StandardPingRadiusTransformator(Hud, 500)
                {
                    RadiusMinimumMultiplier = 0.8f,
                },
            }
                );

            InArmorySetDecorator = new WorldDecoratorCollection(
                new GroundShapeDecorator(Hud)
            {
                Brush                 = Hud.Render.CreateBrush(192, 255, 64, 64, -3),
                ShadowBrush           = Hud.Render.CreateBrush(96, 0, 0, 0, 1),
                ShapePainter          = WorldStarShapePainter.NewCross(Hud),
                Radius                = 4.5f,
                RadiusTransformator   = new StandardPingRadiusTransformator(Hud, 400, 0.8f, 1.0f),
                RotationTransformator = new CircularRotationTransformator(Hud, 30),
            },
                new GroundCircleDecorator(Hud)
            {
                Brush  = Hud.Render.CreateBrush(192, 255, 64, 64, -3),
                Radius = 4.5f,
                RadiusTransformator = new StandardPingRadiusTransformator(Hud, 400, 0.8f, 1.0f),
            },
                new MapShapeDecorator(Hud)
            {
                ShapePainter        = new CircleShapePainter(Hud),
                Brush               = Hud.Render.CreateBrush(255, 255, 64, 64, -1),
                ShadowBrush         = Hud.Render.CreateBrush(96, 0, 0, 0, 1),
                Radius              = 14,
                RadiusTransformator = new StandardPingRadiusTransformator(Hud, 400, 0.8f, 1.0f),
            },
                new GroundLabelDecorator(Hud)
            {
                BackgroundBrush = Hud.Render.CreateBrush(255, 255, 0, 0, 0),
                BorderBrush     = Hud.Render.CreateBrush(255, 0, 0, 0, -1),
                TextFont        = Hud.Render.CreateFont("tahoma", 7, 255, 255, 255, 255, true, false, false)
            }
                );
        }
Exemplo n.º 2
0
        public void OnLootGenerated(IItem item, bool gambled)
        {
            if (item.LastSpeak != null)
            {
                return;
            }
            if (!Hud.LastSpeak.TimerTest(5000))
            {
                return;
            }

            if (EnableCustomSpeak && CustomSpeakTable.ContainsKey(item.SnoItem))
            {
                var customText = CustomSpeakTable[item.SnoItem];
                Speak(item, customText);
                return;
            }

            if (item.Quality == ItemQuality.Legendary)
            {
                if (item.SetSno != uint.MaxValue)
                {
                    switch (item.AncientRank)
                    {
                    case 1:
                        if (EnableSpeakAncientSet)
                        {
                            Speak(item);
                        }
                        break;

                    case 2:
                        if (EnableSpeakPrimalSet)
                        {
                            Speak(item);
                        }
                        break;

                    default:
                        if (EnableSpeakSet)
                        {
                            Speak(item);
                        }
                        break;
                    }
                }
                else
                {
                    switch (item.AncientRank)
                    {
                    case 1:
                        if (EnableSpeakAncient)
                        {
                            Speak(item);
                        }
                        break;

                    case 2:
                        if (EnableSpeakPrimal)
                        {
                            Speak(item);
                        }
                        break;

                    default:
                        if (EnableSpeakLegendary)
                        {
                            Speak(item);
                        }
                        break;
                    }
                }
            }
        }