public override void ModifyTooltips(List <TooltipLine> tooltips) { var item_info = this.item.GetGlobalItem <RodItemInfo>(); if (item_info.TargetTileType != -1) { string tile_name = TileIdentityHelpers.GetVanillaTileName(item_info.TargetTileType); if (tile_name != "") { var tip = new TooltipLine(this.mod, "dowse_target", "Attuned to any " + tile_name); tip.overrideColor = RodItem.AttunedColor; tooltips.Add(tip); } } }
public override void ChooseDowsingTypeAtMouse(Player player) { var item_info = this.item.GetGlobalItem <RodItemInfo>(); Rectangle screen_frame = UIHelpers.GetWorldFrameOfScreen(); Vector2 screen_mouse = UIHelpers.ConvertToScreenPosition(new Vector2(Main.mouseX, Main.mouseY) + Main.screenPosition); Vector2 world_mouse = screen_mouse + new Vector2(screen_frame.X, screen_frame.Y); int tile_x = (int)(world_mouse.X / 16); int tile_y = (int)(world_mouse.Y / 16); Tile tile = Framing.GetTileSafely(tile_x, tile_y); if (!TileHelpers.IsAir(tile)) { if (TileIdentityHelpers.IsObject(tile.type)) { string text = Lang.GetMapObjectName(Main.Map[tile_x, tile_y].Type); text = TileIdentityHelpers.GetVanillaTileName(item_info.TargetTileType); if (text == "") { Main.NewText("Vining Rod now attuned to some kind of material...", RodItem.AttunedColor); } else { Main.NewText("Vining Rod now attuned to any " + text, RodItem.AttunedColor); } item_info.TargetTileType = tile.type; RodItem.RenderDowseEffect(new Vector2(tile_x * 16, tile_y * 16), 5, Color.GreenYellow); } else { Main.NewText("Vining Rod may only attune to objects.", Color.Yellow); } } }