public override void ModifyTooltips(Item item, List <TooltipLine> tooltips)
        {
            var         config = LockedAbilitiesConfig.Instance;
            TooltipLine tip;

            if (item.wingSlot != -1)
            {
                if (config.Get <bool>(nameof(config.WingsRequirePixieDust)))
                {
                    tip = new TooltipLine(this.mod, "LockedAbiltiesWingFuel", "Wings require pixie dust to use.");
                    tip.overrideColor = Color.Yellow;
                    tooltips.Add(tip);
                }
            }
            else
            {
                switch (item.type)
                {
                case ItemID.RocketBoots:
                case ItemID.SpectreBoots:
                case ItemID.LightningBoots:
                case ItemID.FrostsparkBoots:
                    if (config.Get <bool>(nameof(config.RocketBootsRequireGels)))
                    {
                        tip = new TooltipLine(this.mod, "LockedAbiltiesRocketFuel", "Rocket boots require gels to use.");
                        tip.overrideColor = Color.Yellow;
                        tooltips.Add(tip);
                    }
                    break;

                case ItemID.CloudinaBottle:
                case ItemID.CloudinaBalloon:
                case ItemID.BlizzardinaBottle:
                case ItemID.BlizzardinaBalloon:
                case ItemID.SandstorminaBottle:
                case ItemID.SandstorminaBalloon:
                case ItemID.FartInABalloon:
                case ItemID.FartinaJar:
                case ItemID.BalloonHorseshoeFart:
                case ItemID.TsunamiInABottle:
                    int chainAmt = config.Get <int>(nameof(config.GrappleRequiresChainAmount));

                    if (chainAmt > 0 && ItemAttributeLibraries.IsGrapple(item))
                    {
                        tip = new TooltipLine(this.mod, "LockedAbilitiesGrappleChainAmmo",
                                              "Consumes " + chainAmt + " chain(s) per use");
                        ItemInformationAttributeLibraries.ApplyTooltipAt(tooltips, tip);
                    }
                    if (config.Get <bool>(nameof(config.DoubleJumpsRequireGels)))
                    {
                        tip = new TooltipLine(this.mod, "LockedAbiltiesJumpFuel",
                                              "Double jump items require gels to use.");
                        tip.overrideColor = Color.Yellow;
                        tooltips.Add(tip);
                    }
                    break;
                }
            }
        }
Beispiel #2
0
        ////////////////

        private void AddCustomTooltips(Item item, List <TooltipLine> tooltips)
        {
            ErgophobiaConfig config  = ErgophobiaConfig.Instance;
            string           modName = "[c/FFFF88:" + ErgophobiaMod.Instance.DisplayName + "] - ";

            //

            void addTip(string ctx, string desc)
            {
                TooltipLine tip = new TooltipLine(this.mod, "Ergophobia" + ctx, modName + desc);

                ItemInformationAttributeLibraries.ApplyTooltipAt(tooltips, tip);
            }

            //

            switch (item.type)
            {
            case ItemID.Wood:
                addTip("Wood", "May be used to craft framing planks");
                break;

            case ItemID.WoodPlatform:
                if (config.Get <int>(nameof(config.MaxPlatformBridgeLength)) > 0)
                {
                    addTip("Platform", "Only placeable in short ledges attached to something solid");
                }
                break;

            case ItemID.Rope:
            case ItemID.SilkRope:
            case ItemID.VineRope:
            case ItemID.WebRope:
            case ItemID.Chain:
                addTip("Rope", "Can only be lowered, unless placed against walls");
                break;

            case ItemID.MinecartTrack:
                addTip("Track1", "Can only bridge gaps or be placed downwards");
                addTip("Track2", "May be used to craft track deployment kits");
                break;
            }

            //

            if (item.createTile > -1)
            {
                if (!TileLogic.CanPlace(item.createTile))
                {
                    addTip("Placeable", "This tile is not allowed to be placed");
                }
            }
        }
Beispiel #3
0
        public override void ModifyTooltips(Item item, List <TooltipLine> tooltips)
        {
            if (!ItemAttributeLibraries.IsGrapple(item))
            {
                return;
            }

            var config = GrappletechConfig.Instance;

            if (!config.Get <bool>(nameof(config.GrappleableWoodAndPlatforms)))
            {
                return;
            }

            string modName = "[c/FFFF88:" + GrappletechMod.Instance.DisplayName + "] - ";
            string text    = "Only works on wood and platforms";

            TooltipLine tip = new TooltipLine(this.mod, "Grappletech", modName + text);

            ItemInformationAttributeLibraries.ApplyTooltipAt(tooltips, tip);
        }
        ////////////////

        public override void ModifyTooltips(List <TooltipLine> tooltips)
        {
            var   config        = TMRConfig.Instance;
            int   dmgPer32      = config.Get <int>(nameof(config.DamagePerTargetVolumeUnitsOf32Sqr));
            float dmgMulForBoss = config.Get <float>(nameof(config.DamageScaleAgainstBosses));

            if (dmgPer32 < 0)
            {
                string dmgText = "Damage reduced against larger targets (" + dmgPer32 + " per 32 in. sqr. area)";
                var    tip     = new TooltipLine(this.mod, "TMRDamagePer32", dmgText);

                ItemInformationAttributeLibraries.ApplyTooltipAt(tooltips, tip, VanillaTooltipName.Damage, true);
            }

            if (dmgMulForBoss != 1f)
            {
                string dmgText = "Damage scaled to " + (int)(dmgMulForBoss * 100f) + "% against bosses";
                var    tip     = new TooltipLine(this.mod, "TMRDamagePerBoss", dmgText);

                ItemInformationAttributeLibraries.ApplyTooltipAt(tooltips, tip, VanillaTooltipName.Damage, true);
            }
        }
Beispiel #5
0
        public override void ModifyTooltips(Item item, List <TooltipLine> tooltips)
        {
            string modName = "[c/FFFF88:FMC] - ";

            switch (item.type)
            {
            case ItemID.Binoculars:
                var tip = new TooltipLine(
                    this.mod,
                    "FindableManaCrystalsBinoculars",
                    modName + "Now detects hints of certain magical phenomena"
                    );

                ItemInformationAttributeLibraries.ApplyTooltipAt(tooltips, tip);
                break;

            case ItemID.ManaCrystal:
                var config = FMCConfig.Instance;

                if (config.Get <bool>(nameof(FMCConfig.ReducedManaCrystalStatIncrease)))
                {
                    int idx = tooltips.FindIndex(t => t.Name == "ManaCrystal");

                    if (idx >= 0)
                    {
                        tooltips[idx] = new TooltipLine(
                            this.mod,
                            "FindableManaCrystalsManaCrystal",
                            modName + "Permanently increases maximum mana by 10"
                            );
                    }
                }

                break;
            }
        }