diff --git a/NethackHelper/MainForm.Designer.cs b/NethackHelper/MainForm.Designer.cs index 88db6c2..3c541f2 100644 --- a/NethackHelper/MainForm.Designer.cs +++ b/NethackHelper/MainForm.Designer.cs @@ -1,5 +1,6 @@ using System.Drawing; using System.Windows.Forms; +using NethackHelper.Properties; namespace NethackHelper { partial class MainForm : Form { @@ -26,655 +27,1009 @@ namespace NethackHelper { /// the contents of this method with the code editor. /// private void InitializeComponent() { - components = new System.ComponentModel.Container(); + this.components = new System.ComponentModel.Container(); + Label extrinsicLabel; + Label intrinsicLabel; System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); - mainTabControl = new TabControl(); - itemsTab = new TabPage(); - suckerBox = new CheckBox(); - saveSourceBindingSource = new BindingSource(components); - itemTabControl = new TabControl(); - scrollPotionTab = new TabPage(); - potionDisplay = new ItemDisplay(); - scrollDisplay = new ItemDisplay(); - wandRingTab = new TabPage(); - ringDisplay = new ItemDisplay(); - wandDisplay = new ItemDisplay(); - spellbookTab = new TabPage(); - amuletDisplay = new ItemDisplay(); - spellbookDisplay = new ItemDisplay(); - toolsTab = new TabPage(); - armorDisplay = new ItemDisplay(); - toolDisplay = new ItemDisplay(); - charismaSelector = new ComboBox(); - intrinsicsTab = new TabPage(); - label2 = new Label(); - lastPrayerPicker = new NumericUpDown(); - intrinsicsBindingSource = new BindingSource(components); - label1 = new Label(); - protectionPicker = new NumericUpDown(); - warningCheckbox = new CheckBox(); - teleportitisCheckbox = new CheckBox(); - teleportControlCheckbox = new CheckBox(); - telepathyCheckbox = new CheckBox(); - stealthCheckbox = new CheckBox(); - speedCheckbox = new CheckBox(); - sleepResistanceCheckbox = new CheckBox(); - shockResistanceCheckbox = new CheckBox(); - seeInvisibleCheckbox = new CheckBox(); - searchingCheckbox = new CheckBox(); - poisonResistanceCheckbox = new CheckBox(); - invisibleCheckbox = new CheckBox(); - fireResistanceCheckbox = new CheckBox(); - disintegrationResistanceCheckbox = new CheckBox(); - coldResistanceCheckbox = new CheckBox(); - sokobanTab = new TabPage(); - sokobanVertical = new CheckBox(); - sokobanHorizontal = new CheckBox(); - sokobanPrev = new Button(); - sokobanNext = new Button(); - sokobanSolution = new Label(); - sokobanLevelList = new ListBox(); - charismaSourceBindingSource = new BindingSource(components); - mainMenu = new MenuStrip(); - fileToolStripMenuItem = new ToolStripMenuItem(); - resetToolStripMenuItem = new ToolStripMenuItem(); - toolTip1 = new ToolTip(components); - mainTabControl.SuspendLayout(); - itemsTab.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize) saveSourceBindingSource).BeginInit(); - itemTabControl.SuspendLayout(); - scrollPotionTab.SuspendLayout(); - wandRingTab.SuspendLayout(); - spellbookTab.SuspendLayout(); - toolsTab.SuspendLayout(); - intrinsicsTab.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize) lastPrayerPicker).BeginInit(); - ((System.ComponentModel.ISupportInitialize) intrinsicsBindingSource).BeginInit(); - ((System.ComponentModel.ISupportInitialize) protectionPicker).BeginInit(); - sokobanTab.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize) charismaSourceBindingSource).BeginInit(); - mainMenu.SuspendLayout(); - SuspendLayout(); + this.mainTabControl = new TabControl(); + this.itemsTab = new TabPage(); + this.suckerBox = new CheckBox(); + this.saveSourceBindingSource = new BindingSource(this.components); + this.itemTabControl = new TabControl(); + this.scrollPotionTab = new TabPage(); + this.potionDisplay = new ItemDisplay(); + this.scrollDisplay = new ItemDisplay(); + this.wandRingTab = new TabPage(); + this.ringDisplay = new ItemDisplay(); + this.wandDisplay = new ItemDisplay(); + this.spellbookTab = new TabPage(); + this.amuletDisplay = new ItemDisplay(); + this.spellbookDisplay = new ItemDisplay(); + this.toolsTab = new TabPage(); + this.armorDisplay = new ItemDisplay(); + this.toolDisplay = new ItemDisplay(); + this.charismaSelector = new ComboBox(); + this.propertiesTab = new TabPage(); + this.godAngryCheckbox = new CheckBox(); + this.propertiesBindingSource = new BindingSource(this.components); + this.hungerBox = new PropertyBox(); + this.freeActionBox = new PropertyBox(); + this.slowDigestionBox = new PropertyBox(); + this.polymorphControlBox = new PropertyBox(); + this.polymorphitisBox = new PropertyBox(); + this.protectionFromShapeChangersBox = new PropertyBox(); + this.regenerationBox = new PropertyBox(); + this.conflictBox = new PropertyBox(); + this.aggravateMonsterBox = new PropertyBox(); + this.magicalBreathingBox = new PropertyBox(); + this.magicResistanceBox = new PropertyBox(); + this.reflectionBox = new PropertyBox(); + this.acidResistanceBox = new PropertyBox(); + this.teleportitisBox = new PropertyBox(); + this.warningBox = new PropertyBox(); + this.disintegrationResistanceBox = new PropertyBox(); + this.fireResistanceBox = new PropertyBox(); + this.invisibilityBox = new PropertyBox(); + this.poisonResistanceBox = new PropertyBox(); + this.searchingBox = new PropertyBox(); + this.seeInvisibleBox = new PropertyBox(); + this.shockResistanceBox = new PropertyBox(); + this.sleepResistanceBox = new PropertyBox(); + this.speedBox = new PropertyBox(); + this.stealthBox = new PropertyBox(); + this.teleportControlBox = new PropertyBox(); + this.telepathyBox = new PropertyBox(); + this.coldResistanceBox = new PropertyBox(); + this.label2 = new Label(); + this.lastPrayerPicker = new NumericUpDown(); + this.label1 = new Label(); + this.protectionPicker = new NumericUpDown(); + this.sokobanTab = new TabPage(); + this.sokobanVertical = new CheckBox(); + this.sokobanHorizontal = new CheckBox(); + this.sokobanPrev = new Button(); + this.sokobanNext = new Button(); + this.sokobanSolution = new Label(); + this.sokobanLevelList = new ListBox(); + this.charismaSourceBindingSource = new BindingSource(this.components); + this.mainMenu = new MenuStrip(); + this.fileToolStripMenuItem = new ToolStripMenuItem(); + this.resetToolStripMenuItem = new ToolStripMenuItem(); + this.toolTip1 = new ToolTip(this.components); + extrinsicLabel = new Label(); + intrinsicLabel = new Label(); + this.mainTabControl.SuspendLayout(); + this.itemsTab.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize) this.saveSourceBindingSource).BeginInit(); + this.itemTabControl.SuspendLayout(); + this.scrollPotionTab.SuspendLayout(); + this.wandRingTab.SuspendLayout(); + this.spellbookTab.SuspendLayout(); + this.toolsTab.SuspendLayout(); + this.propertiesTab.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize) this.propertiesBindingSource).BeginInit(); + ((System.ComponentModel.ISupportInitialize) this.lastPrayerPicker).BeginInit(); + ((System.ComponentModel.ISupportInitialize) this.protectionPicker).BeginInit(); + this.sokobanTab.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize) this.charismaSourceBindingSource).BeginInit(); + this.mainMenu.SuspendLayout(); + this.SuspendLayout(); + // + // extrinsicLabel + // + extrinsicLabel.Font = new Font("Consolas", 9F); + extrinsicLabel.Location = new Point(15, 8); + extrinsicLabel.Margin = new Padding(1); + extrinsicLabel.Name = "extrinsicLabel"; + extrinsicLabel.Size = new Size(16, 16); + extrinsicLabel.TabIndex = 55; + extrinsicLabel.Text = "E"; + extrinsicLabel.TextAlign = ContentAlignment.MiddleCenter; + // + // intrinsicLabel + // + intrinsicLabel.Font = new Font("Consolas", 9F); + intrinsicLabel.Location = new Point(38, 8); + intrinsicLabel.Margin = new Padding(1); + intrinsicLabel.Name = "intrinsicLabel"; + intrinsicLabel.Size = new Size(16, 16); + intrinsicLabel.TabIndex = 56; + intrinsicLabel.Text = "I"; + intrinsicLabel.TextAlign = ContentAlignment.MiddleCenter; // // mainTabControl // - mainTabControl.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; - mainTabControl.Controls.Add(itemsTab); - mainTabControl.Controls.Add(intrinsicsTab); - mainTabControl.Controls.Add(sokobanTab); - mainTabControl.Location = new Point(12, 27); - mainTabControl.Name = "mainTabControl"; - mainTabControl.SelectedIndex = 0; - mainTabControl.Size = new Size(672, 621); - mainTabControl.TabIndex = 0; + this.mainTabControl.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; + this.mainTabControl.Controls.Add(this.itemsTab); + this.mainTabControl.Controls.Add(this.propertiesTab); + this.mainTabControl.Controls.Add(this.sokobanTab); + this.mainTabControl.Location = new Point(12, 27); + this.mainTabControl.Name = "mainTabControl"; + this.mainTabControl.SelectedIndex = 0; + this.mainTabControl.Size = new Size(672, 621); + this.mainTabControl.TabIndex = 0; // // itemsTab // - itemsTab.Controls.Add(suckerBox); - itemsTab.Controls.Add(itemTabControl); - itemsTab.Controls.Add(charismaSelector); - itemsTab.Location = new Point(4, 24); - itemsTab.Name = "itemsTab"; - itemsTab.Padding = new Padding(3); - itemsTab.Size = new Size(664, 593); - itemsTab.TabIndex = 1; - itemsTab.Text = "Items"; - itemsTab.UseVisualStyleBackColor = true; + this.itemsTab.Controls.Add(this.suckerBox); + this.itemsTab.Controls.Add(this.itemTabControl); + this.itemsTab.Controls.Add(this.charismaSelector); + this.itemsTab.Location = new Point(4, 24); + this.itemsTab.Name = "itemsTab"; + this.itemsTab.Padding = new Padding(3); + this.itemsTab.Size = new Size(664, 593); + this.itemsTab.TabIndex = 1; + this.itemsTab.Text = "Items"; + this.itemsTab.UseVisualStyleBackColor = true; // // suckerBox // - suckerBox.AutoSize = true; - suckerBox.Cursor = Cursors.Help; - suckerBox.DataBindings.Add(new Binding("Checked", saveSourceBindingSource, "Sucker", true)); - suckerBox.Location = new Point(133, 8); - suckerBox.Name = "suckerBox"; - suckerBox.Size = new Size(61, 19); - suckerBox.TabIndex = 2; - suckerBox.Text = "Sucker"; - toolTip1.SetToolTip(suckerBox, "Check this box if you are a tourist under level 15, are wearing a dunce cap, or are wearing a visible shirt."); - suckerBox.UseVisualStyleBackColor = true; - suckerBox.CheckedChanged += suckerBox_CheckedChanged; + this.suckerBox.AutoSize = true; + this.suckerBox.Cursor = Cursors.Help; + this.suckerBox.DataBindings.Add(new Binding("Checked", this.saveSourceBindingSource, "Sucker", true)); + this.suckerBox.Location = new Point(133, 8); + this.suckerBox.Name = "suckerBox"; + this.suckerBox.Size = new Size(61, 19); + this.suckerBox.TabIndex = 2; + this.suckerBox.Text = "Sucker"; + this.toolTip1.SetToolTip(this.suckerBox, "Check this box if you are a tourist under level 15, are wearing a dunce cap, or are wearing a visible shirt."); + this.suckerBox.UseVisualStyleBackColor = true; + this.suckerBox.CheckedChanged += this.suckerBox_CheckedChanged; // // saveSourceBindingSource // - saveSourceBindingSource.DataSource = typeof(SaveSource); - saveSourceBindingSource.Position = 0; + this.saveSourceBindingSource.DataSource = typeof(SaveSource); + this.saveSourceBindingSource.Position = 0; // // itemTabControl // - itemTabControl.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; - itemTabControl.Controls.Add(scrollPotionTab); - itemTabControl.Controls.Add(wandRingTab); - itemTabControl.Controls.Add(spellbookTab); - itemTabControl.Controls.Add(toolsTab); - itemTabControl.Location = new Point(6, 35); - itemTabControl.Name = "itemTabControl"; - itemTabControl.SelectedIndex = 0; - itemTabControl.Size = new Size(652, 555); - itemTabControl.TabIndex = 1; + this.itemTabControl.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; + this.itemTabControl.Controls.Add(this.scrollPotionTab); + this.itemTabControl.Controls.Add(this.wandRingTab); + this.itemTabControl.Controls.Add(this.spellbookTab); + this.itemTabControl.Controls.Add(this.toolsTab); + this.itemTabControl.Location = new Point(6, 35); + this.itemTabControl.Name = "itemTabControl"; + this.itemTabControl.SelectedIndex = 0; + this.itemTabControl.Size = new Size(652, 555); + this.itemTabControl.TabIndex = 1; // // scrollPotionTab // - scrollPotionTab.Controls.Add(potionDisplay); - scrollPotionTab.Controls.Add(scrollDisplay); - scrollPotionTab.Location = new Point(4, 24); - scrollPotionTab.Name = "scrollPotionTab"; - scrollPotionTab.Padding = new Padding(3); - scrollPotionTab.Size = new Size(644, 527); - scrollPotionTab.TabIndex = 1; - scrollPotionTab.Text = "Scrolls / Potions"; - scrollPotionTab.UseVisualStyleBackColor = true; + this.scrollPotionTab.Controls.Add(this.potionDisplay); + this.scrollPotionTab.Controls.Add(this.scrollDisplay); + this.scrollPotionTab.Location = new Point(4, 24); + this.scrollPotionTab.Name = "scrollPotionTab"; + this.scrollPotionTab.Padding = new Padding(3); + this.scrollPotionTab.Size = new Size(644, 527); + this.scrollPotionTab.TabIndex = 1; + this.scrollPotionTab.Text = "Scrolls / Potions"; + this.scrollPotionTab.UseVisualStyleBackColor = true; // // potionDisplay // - potionDisplay.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left; - potionDisplay.Columns = (System.Collections.Generic.List) resources.GetObject("potionDisplay.Columns"); - potionDisplay.Grouping = ItemAttribute.Cost; - potionDisplay.Location = new Point(375, 6); - potionDisplay.Name = "potionDisplay"; - potionDisplay.Size = new Size(263, 515); - potionDisplay.TabIndex = 1; + this.potionDisplay.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left; + this.potionDisplay.Columns = (System.Collections.Generic.List) resources.GetObject("potionDisplay.Columns"); + this.potionDisplay.Grouping = ItemAttribute.Cost; + this.potionDisplay.Location = new Point(375, 6); + this.potionDisplay.Name = "potionDisplay"; + this.potionDisplay.Size = new Size(263, 515); + this.potionDisplay.TabIndex = 1; // // scrollDisplay // - scrollDisplay.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left; - scrollDisplay.Columns = (System.Collections.Generic.List) resources.GetObject("scrollDisplay.Columns"); - scrollDisplay.Grouping = ItemAttribute.Cost; - scrollDisplay.Location = new Point(6, 6); - scrollDisplay.Name = "scrollDisplay"; - scrollDisplay.Size = new Size(363, 515); - scrollDisplay.TabIndex = 0; + this.scrollDisplay.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left; + this.scrollDisplay.Columns = (System.Collections.Generic.List) resources.GetObject("scrollDisplay.Columns"); + this.scrollDisplay.Grouping = ItemAttribute.Cost; + this.scrollDisplay.Location = new Point(6, 6); + this.scrollDisplay.Name = "scrollDisplay"; + this.scrollDisplay.Size = new Size(363, 515); + this.scrollDisplay.TabIndex = 0; // // wandRingTab // - wandRingTab.Controls.Add(ringDisplay); - wandRingTab.Controls.Add(wandDisplay); - wandRingTab.Location = new Point(4, 24); - wandRingTab.Name = "wandRingTab"; - wandRingTab.Padding = new Padding(3); - wandRingTab.Size = new Size(644, 527); - wandRingTab.TabIndex = 2; - wandRingTab.Text = "Wands / Rings"; - wandRingTab.UseVisualStyleBackColor = true; + this.wandRingTab.Controls.Add(this.ringDisplay); + this.wandRingTab.Controls.Add(this.wandDisplay); + this.wandRingTab.Location = new Point(4, 24); + this.wandRingTab.Name = "wandRingTab"; + this.wandRingTab.Padding = new Padding(3); + this.wandRingTab.Size = new Size(644, 527); + this.wandRingTab.TabIndex = 2; + this.wandRingTab.Text = "Wands / Rings"; + this.wandRingTab.UseVisualStyleBackColor = true; // // ringDisplay // - ringDisplay.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Right; - ringDisplay.Columns = (System.Collections.Generic.List) resources.GetObject("ringDisplay.Columns"); - ringDisplay.Grouping = ItemAttribute.Cost; - ringDisplay.Location = new Point(301, 6); - ringDisplay.Name = "ringDisplay"; - ringDisplay.Size = new Size(337, 515); - ringDisplay.TabIndex = 2; + this.ringDisplay.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Right; + this.ringDisplay.Columns = (System.Collections.Generic.List) resources.GetObject("ringDisplay.Columns"); + this.ringDisplay.Grouping = ItemAttribute.Cost; + this.ringDisplay.Location = new Point(301, 6); + this.ringDisplay.Name = "ringDisplay"; + this.ringDisplay.Size = new Size(337, 515); + this.ringDisplay.TabIndex = 2; // // wandDisplay // - wandDisplay.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left; - wandDisplay.Columns = (System.Collections.Generic.List) resources.GetObject("wandDisplay.Columns"); - wandDisplay.Grouping = ItemAttribute.Cost; - wandDisplay.Location = new Point(6, 6); - wandDisplay.Name = "wandDisplay"; - wandDisplay.Size = new Size(289, 515); - wandDisplay.TabIndex = 1; + this.wandDisplay.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left; + this.wandDisplay.Columns = (System.Collections.Generic.List) resources.GetObject("wandDisplay.Columns"); + this.wandDisplay.Grouping = ItemAttribute.Cost; + this.wandDisplay.Location = new Point(6, 6); + this.wandDisplay.Name = "wandDisplay"; + this.wandDisplay.Size = new Size(289, 515); + this.wandDisplay.TabIndex = 1; // // spellbookTab // - spellbookTab.Controls.Add(amuletDisplay); - spellbookTab.Controls.Add(spellbookDisplay); - spellbookTab.Location = new Point(4, 24); - spellbookTab.Name = "spellbookTab"; - spellbookTab.Padding = new Padding(3); - spellbookTab.Size = new Size(644, 527); - spellbookTab.TabIndex = 3; - spellbookTab.Text = "Spellbooks / Amulets"; - spellbookTab.UseVisualStyleBackColor = true; + this.spellbookTab.Controls.Add(this.amuletDisplay); + this.spellbookTab.Controls.Add(this.spellbookDisplay); + this.spellbookTab.Location = new Point(4, 24); + this.spellbookTab.Name = "spellbookTab"; + this.spellbookTab.Padding = new Padding(3); + this.spellbookTab.Size = new Size(644, 527); + this.spellbookTab.TabIndex = 3; + this.spellbookTab.Text = "Spellbooks / Amulets"; + this.spellbookTab.UseVisualStyleBackColor = true; // // amuletDisplay // - amuletDisplay.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Right; - amuletDisplay.Columns = (System.Collections.Generic.List) resources.GetObject("amuletDisplay.Columns"); - amuletDisplay.Grouping = ItemAttribute.Cost; - amuletDisplay.Location = new Point(325, 6); - amuletDisplay.Name = "amuletDisplay"; - amuletDisplay.Size = new Size(313, 515); - amuletDisplay.TabIndex = 1; + this.amuletDisplay.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Right; + this.amuletDisplay.Columns = (System.Collections.Generic.List) resources.GetObject("amuletDisplay.Columns"); + this.amuletDisplay.Grouping = ItemAttribute.Cost; + this.amuletDisplay.Location = new Point(325, 6); + this.amuletDisplay.Name = "amuletDisplay"; + this.amuletDisplay.Size = new Size(313, 515); + this.amuletDisplay.TabIndex = 1; // // spellbookDisplay // - spellbookDisplay.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left; - spellbookDisplay.Columns = (System.Collections.Generic.List) resources.GetObject("spellbookDisplay.Columns"); - spellbookDisplay.Grouping = ItemAttribute.Cost; - spellbookDisplay.Location = new Point(6, 6); - spellbookDisplay.Name = "spellbookDisplay"; - spellbookDisplay.Size = new Size(313, 515); - spellbookDisplay.TabIndex = 0; + this.spellbookDisplay.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left; + this.spellbookDisplay.Columns = (System.Collections.Generic.List) resources.GetObject("spellbookDisplay.Columns"); + this.spellbookDisplay.Grouping = ItemAttribute.Cost; + this.spellbookDisplay.Location = new Point(6, 6); + this.spellbookDisplay.Name = "spellbookDisplay"; + this.spellbookDisplay.Size = new Size(313, 515); + this.spellbookDisplay.TabIndex = 0; // // toolsTab // - toolsTab.Controls.Add(armorDisplay); - toolsTab.Controls.Add(toolDisplay); - toolsTab.Location = new Point(4, 24); - toolsTab.Name = "toolsTab"; - toolsTab.Padding = new Padding(3); - toolsTab.Size = new Size(644, 527); - toolsTab.TabIndex = 4; - toolsTab.Text = "Tools / Armor"; - toolsTab.UseVisualStyleBackColor = true; + this.toolsTab.Controls.Add(this.armorDisplay); + this.toolsTab.Controls.Add(this.toolDisplay); + this.toolsTab.Location = new Point(4, 24); + this.toolsTab.Name = "toolsTab"; + this.toolsTab.Padding = new Padding(3); + this.toolsTab.Size = new Size(644, 527); + this.toolsTab.TabIndex = 4; + this.toolsTab.Text = "Tools / Armor"; + this.toolsTab.UseVisualStyleBackColor = true; // // armorDisplay // - armorDisplay.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Right; - armorDisplay.Columns = (System.Collections.Generic.List) resources.GetObject("armorDisplay.Columns"); - armorDisplay.Grouping = ItemAttribute.Slot; - armorDisplay.Location = new Point(225, 6); - armorDisplay.Name = "armorDisplay"; - armorDisplay.Size = new Size(413, 515); - armorDisplay.TabIndex = 1; + this.armorDisplay.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Right; + this.armorDisplay.Columns = (System.Collections.Generic.List) resources.GetObject("armorDisplay.Columns"); + this.armorDisplay.Grouping = ItemAttribute.Slot; + this.armorDisplay.Location = new Point(225, 6); + this.armorDisplay.Name = "armorDisplay"; + this.armorDisplay.Size = new Size(413, 515); + this.armorDisplay.TabIndex = 1; // // toolDisplay // - toolDisplay.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left; - toolDisplay.Columns = (System.Collections.Generic.List) resources.GetObject("toolDisplay.Columns"); - toolDisplay.Grouping = ItemAttribute.Slot; - toolDisplay.Location = new Point(6, 6); - toolDisplay.Name = "toolDisplay"; - toolDisplay.Size = new Size(213, 515); - toolDisplay.TabIndex = 0; + this.toolDisplay.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left; + this.toolDisplay.Columns = (System.Collections.Generic.List) resources.GetObject("toolDisplay.Columns"); + this.toolDisplay.Grouping = ItemAttribute.Slot; + this.toolDisplay.Location = new Point(6, 6); + this.toolDisplay.Name = "toolDisplay"; + this.toolDisplay.Size = new Size(213, 515); + this.toolDisplay.TabIndex = 0; // // charismaSelector // - charismaSelector.DataBindings.Add(new Binding("SelectedItem", saveSourceBindingSource, "CharismaClass", true)); - charismaSelector.FormattingEnabled = true; - charismaSelector.Location = new Point(6, 6); - charismaSelector.Name = "charismaSelector"; - charismaSelector.Size = new Size(121, 23); - charismaSelector.TabIndex = 0; - charismaSelector.SelectedIndexChanged += charismaSelector_SelectedIndexChanged; + this.charismaSelector.DataBindings.Add(new Binding("SelectedItem", this.saveSourceBindingSource, "CharismaClass", true)); + this.charismaSelector.FormattingEnabled = true; + this.charismaSelector.Location = new Point(6, 6); + this.charismaSelector.Name = "charismaSelector"; + this.charismaSelector.Size = new Size(121, 23); + this.charismaSelector.TabIndex = 0; + this.charismaSelector.SelectedIndexChanged += this.charismaSelector_SelectedIndexChanged; // - // intrinsicsTab + // propertiesTab // - intrinsicsTab.Controls.Add(label2); - intrinsicsTab.Controls.Add(lastPrayerPicker); - intrinsicsTab.Controls.Add(label1); - intrinsicsTab.Controls.Add(protectionPicker); - intrinsicsTab.Controls.Add(warningCheckbox); - intrinsicsTab.Controls.Add(teleportitisCheckbox); - intrinsicsTab.Controls.Add(teleportControlCheckbox); - intrinsicsTab.Controls.Add(telepathyCheckbox); - intrinsicsTab.Controls.Add(stealthCheckbox); - intrinsicsTab.Controls.Add(speedCheckbox); - intrinsicsTab.Controls.Add(sleepResistanceCheckbox); - intrinsicsTab.Controls.Add(shockResistanceCheckbox); - intrinsicsTab.Controls.Add(seeInvisibleCheckbox); - intrinsicsTab.Controls.Add(searchingCheckbox); - intrinsicsTab.Controls.Add(poisonResistanceCheckbox); - intrinsicsTab.Controls.Add(invisibleCheckbox); - intrinsicsTab.Controls.Add(fireResistanceCheckbox); - intrinsicsTab.Controls.Add(disintegrationResistanceCheckbox); - intrinsicsTab.Controls.Add(coldResistanceCheckbox); - intrinsicsTab.Location = new Point(4, 24); - intrinsicsTab.Name = "intrinsicsTab"; - intrinsicsTab.Padding = new Padding(3); - intrinsicsTab.Size = new Size(664, 593); - intrinsicsTab.TabIndex = 2; - intrinsicsTab.Text = "Intrinsics"; - intrinsicsTab.UseVisualStyleBackColor = true; + this.propertiesTab.Controls.Add(this.godAngryCheckbox); + this.propertiesTab.Controls.Add(this.hungerBox); + this.propertiesTab.Controls.Add(this.freeActionBox); + this.propertiesTab.Controls.Add(this.slowDigestionBox); + this.propertiesTab.Controls.Add(this.polymorphControlBox); + this.propertiesTab.Controls.Add(this.polymorphitisBox); + this.propertiesTab.Controls.Add(this.protectionFromShapeChangersBox); + this.propertiesTab.Controls.Add(this.regenerationBox); + this.propertiesTab.Controls.Add(this.conflictBox); + this.propertiesTab.Controls.Add(this.aggravateMonsterBox); + this.propertiesTab.Controls.Add(this.magicalBreathingBox); + this.propertiesTab.Controls.Add(this.magicResistanceBox); + this.propertiesTab.Controls.Add(this.reflectionBox); + this.propertiesTab.Controls.Add(this.acidResistanceBox); + this.propertiesTab.Controls.Add(this.teleportitisBox); + this.propertiesTab.Controls.Add(intrinsicLabel); + this.propertiesTab.Controls.Add(this.warningBox); + this.propertiesTab.Controls.Add(this.disintegrationResistanceBox); + this.propertiesTab.Controls.Add(this.fireResistanceBox); + this.propertiesTab.Controls.Add(this.invisibilityBox); + this.propertiesTab.Controls.Add(this.poisonResistanceBox); + this.propertiesTab.Controls.Add(this.searchingBox); + this.propertiesTab.Controls.Add(this.seeInvisibleBox); + this.propertiesTab.Controls.Add(this.shockResistanceBox); + this.propertiesTab.Controls.Add(this.sleepResistanceBox); + this.propertiesTab.Controls.Add(this.speedBox); + this.propertiesTab.Controls.Add(this.stealthBox); + this.propertiesTab.Controls.Add(this.teleportControlBox); + this.propertiesTab.Controls.Add(this.telepathyBox); + this.propertiesTab.Controls.Add(this.coldResistanceBox); + this.propertiesTab.Controls.Add(this.label2); + this.propertiesTab.Controls.Add(this.lastPrayerPicker); + this.propertiesTab.Controls.Add(this.label1); + this.propertiesTab.Controls.Add(this.protectionPicker); + this.propertiesTab.Controls.Add(extrinsicLabel); + this.propertiesTab.Location = new Point(4, 24); + this.propertiesTab.Name = "propertiesTab"; + this.propertiesTab.Padding = new Padding(3); + this.propertiesTab.Size = new Size(664, 593); + this.propertiesTab.TabIndex = 2; + this.propertiesTab.Text = "Properties"; + this.propertiesTab.UseVisualStyleBackColor = true; + // + // godAngryCheckbox + // + this.godAngryCheckbox.DataBindings.Add(new Binding("Checked", this.propertiesBindingSource, "GodAngry", true)); + this.godAngryCheckbox.Image = Resources.angry_god; + this.godAngryCheckbox.ImageAlign = ContentAlignment.MiddleLeft; + this.godAngryCheckbox.Location = new Point(23, 423); + this.godAngryCheckbox.Name = "godAngryCheckbox"; + this.godAngryCheckbox.Size = new Size(98, 25); + this.godAngryCheckbox.TabIndex = 86; + this.godAngryCheckbox.Text = " God Angry"; + this.godAngryCheckbox.TextAlign = ContentAlignment.MiddleRight; + this.godAngryCheckbox.UseVisualStyleBackColor = true; + this.godAngryCheckbox.CheckedChanged += this.godAngryCheckbox_CheckedChanged; + // + // propertiesBindingSource + // + this.propertiesBindingSource.DataSource = typeof(GameProperties); + // + // hungerBox + // + this.hungerBox.AllowExtrinsic = true; + this.hungerBox.AllowIntrinsic = true; + this.hungerBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "Hunger", true)); + this.hungerBox.HasExtrinsic = false; + this.hungerBox.HasIntrinsic = false; + this.hungerBox.Location = new Point(314, 245); + this.hungerBox.Margin = new Padding(1); + this.hungerBox.Name = "hungerBox"; + this.hungerBox.PropertyImage = Resources.hunger; + this.hungerBox.PropertyKey = "hunger"; + this.hungerBox.PropertyName = "Hunger"; + this.hungerBox.Size = new Size(300, 20); + this.hungerBox.TabIndex = 85; + // + // freeActionBox + // + this.freeActionBox.AllowExtrinsic = true; + this.freeActionBox.AllowIntrinsic = false; + this.freeActionBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "FreeAction", true)); + this.freeActionBox.HasExtrinsic = false; + this.freeActionBox.HasIntrinsic = false; + this.freeActionBox.Location = new Point(314, 113); + this.freeActionBox.Margin = new Padding(1); + this.freeActionBox.Name = "freeActionBox"; + this.freeActionBox.PropertyImage = Resources.fire_resistance; + this.freeActionBox.PropertyKey = "free_action"; + this.freeActionBox.PropertyName = "Free Action"; + this.freeActionBox.Size = new Size(300, 20); + this.freeActionBox.TabIndex = 84; + // + // slowDigestionBox + // + this.slowDigestionBox.AllowExtrinsic = true; + this.slowDigestionBox.AllowIntrinsic = false; + this.slowDigestionBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "SlowDigestion", true)); + this.slowDigestionBox.HasExtrinsic = false; + this.slowDigestionBox.HasIntrinsic = false; + this.slowDigestionBox.Location = new Point(314, 91); + this.slowDigestionBox.Margin = new Padding(1); + this.slowDigestionBox.Name = "slowDigestionBox"; + this.slowDigestionBox.PropertyImage = Resources.slow_digestion; + this.slowDigestionBox.PropertyKey = "slow_digestion"; + this.slowDigestionBox.PropertyName = "Slow Digestion"; + this.slowDigestionBox.Size = new Size(300, 20); + this.slowDigestionBox.TabIndex = 83; + // + // polymorphControlBox + // + this.polymorphControlBox.AllowExtrinsic = true; + this.polymorphControlBox.AllowIntrinsic = true; + this.polymorphControlBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "PolymorphControl", true)); + this.polymorphControlBox.HasExtrinsic = false; + this.polymorphControlBox.HasIntrinsic = false; + this.polymorphControlBox.Location = new Point(314, 135); + this.polymorphControlBox.Margin = new Padding(1); + this.polymorphControlBox.Name = "polymorphControlBox"; + this.polymorphControlBox.PropertyImage = Resources.polymorph_control; + this.polymorphControlBox.PropertyKey = "polymorph_control"; + this.polymorphControlBox.PropertyName = "Polymorph Control"; + this.polymorphControlBox.Size = new Size(300, 20); + this.polymorphControlBox.TabIndex = 82; + // + // polymorphitisBox + // + this.polymorphitisBox.AllowExtrinsic = true; + this.polymorphitisBox.AllowIntrinsic = true; + this.polymorphitisBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "Polymorphitis", true)); + this.polymorphitisBox.HasExtrinsic = false; + this.polymorphitisBox.HasIntrinsic = false; + this.polymorphitisBox.Location = new Point(314, 157); + this.polymorphitisBox.Margin = new Padding(1); + this.polymorphitisBox.Name = "polymorphitisBox"; + this.polymorphitisBox.PropertyImage = Resources.polymorphitis; + this.polymorphitisBox.PropertyKey = "polymorphitis"; + this.polymorphitisBox.PropertyName = "Polymorphitis"; + this.polymorphitisBox.Size = new Size(300, 20); + this.polymorphitisBox.TabIndex = 81; + // + // protectionFromShapeChangersBox + // + this.protectionFromShapeChangersBox.AllowExtrinsic = true; + this.protectionFromShapeChangersBox.AllowIntrinsic = true; + this.protectionFromShapeChangersBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "ProtectionFromShapeChangers", true)); + this.protectionFromShapeChangersBox.HasExtrinsic = false; + this.protectionFromShapeChangersBox.HasIntrinsic = false; + this.protectionFromShapeChangersBox.Location = new Point(314, 179); + this.protectionFromShapeChangersBox.Margin = new Padding(1); + this.protectionFromShapeChangersBox.Name = "protectionFromShapeChangersBox"; + this.protectionFromShapeChangersBox.PropertyImage = Resources.protection_from_shape_changers; + this.protectionFromShapeChangersBox.PropertyKey = "protection_from_shape_changers"; + this.protectionFromShapeChangersBox.PropertyName = "Protection From Shape Changers"; + this.protectionFromShapeChangersBox.Size = new Size(300, 20); + this.protectionFromShapeChangersBox.TabIndex = 80; + // + // regenerationBox + // + this.regenerationBox.AllowExtrinsic = true; + this.regenerationBox.AllowIntrinsic = true; + this.regenerationBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "Regeneration", true)); + this.regenerationBox.HasExtrinsic = false; + this.regenerationBox.HasIntrinsic = false; + this.regenerationBox.Location = new Point(314, 201); + this.regenerationBox.Margin = new Padding(1); + this.regenerationBox.Name = "regenerationBox"; + this.regenerationBox.PropertyImage = Resources.regeneration; + this.regenerationBox.PropertyKey = "regeneration"; + this.regenerationBox.PropertyName = "Regeneration"; + this.regenerationBox.Size = new Size(300, 20); + this.regenerationBox.TabIndex = 79; + // + // conflictBox + // + this.conflictBox.AllowExtrinsic = true; + this.conflictBox.AllowIntrinsic = true; + this.conflictBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "Conflict", true)); + this.conflictBox.HasExtrinsic = false; + this.conflictBox.HasIntrinsic = false; + this.conflictBox.Location = new Point(314, 223); + this.conflictBox.Margin = new Padding(1); + this.conflictBox.Name = "conflictBox"; + this.conflictBox.PropertyImage = Resources.conflict; + this.conflictBox.PropertyKey = "conflict"; + this.conflictBox.PropertyName = "Conflict"; + this.conflictBox.Size = new Size(300, 20); + this.conflictBox.TabIndex = 78; + // + // aggravateMonsterBox + // + this.aggravateMonsterBox.AllowExtrinsic = true; + this.aggravateMonsterBox.AllowIntrinsic = true; + this.aggravateMonsterBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "AggravateMonster", true)); + this.aggravateMonsterBox.HasExtrinsic = false; + this.aggravateMonsterBox.HasIntrinsic = false; + this.aggravateMonsterBox.Location = new Point(314, 267); + this.aggravateMonsterBox.Margin = new Padding(1); + this.aggravateMonsterBox.Name = "aggravateMonsterBox"; + this.aggravateMonsterBox.PropertyImage = Resources.aggravate_monster; + this.aggravateMonsterBox.PropertyKey = "aggravate_monster"; + this.aggravateMonsterBox.PropertyName = "Aggravate Monster"; + this.aggravateMonsterBox.Size = new Size(300, 20); + this.aggravateMonsterBox.TabIndex = 77; + // + // magicalBreathingBox + // + this.magicalBreathingBox.AllowExtrinsic = true; + this.magicalBreathingBox.AllowIntrinsic = true; + this.magicalBreathingBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "MagicalBreathing", true)); + this.magicalBreathingBox.HasExtrinsic = false; + this.magicalBreathingBox.HasIntrinsic = false; + this.magicalBreathingBox.Location = new Point(314, 289); + this.magicalBreathingBox.Margin = new Padding(1); + this.magicalBreathingBox.Name = "magicalBreathingBox"; + this.magicalBreathingBox.PropertyImage = Resources.magical_breathing; + this.magicalBreathingBox.PropertyKey = "magical_breathing"; + this.magicalBreathingBox.PropertyName = "Magical Breathing"; + this.magicalBreathingBox.Size = new Size(300, 20); + this.magicalBreathingBox.TabIndex = 76; + // + // magicResistanceBox + // + this.magicResistanceBox.AllowExtrinsic = true; + this.magicResistanceBox.AllowIntrinsic = false; + this.magicResistanceBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "MagicResistance", true)); + this.magicResistanceBox.HasExtrinsic = false; + this.magicResistanceBox.HasIntrinsic = false; + this.magicResistanceBox.Location = new Point(314, 69); + this.magicResistanceBox.Margin = new Padding(1); + this.magicResistanceBox.Name = "magicResistanceBox"; + this.magicResistanceBox.PropertyImage = Resources.magic_resistance; + this.magicResistanceBox.PropertyKey = "magic_resistance"; + this.magicResistanceBox.PropertyName = "Magic Resistance"; + this.magicResistanceBox.Size = new Size(300, 20); + this.magicResistanceBox.TabIndex = 75; + // + // reflectionBox + // + this.reflectionBox.AllowExtrinsic = true; + this.reflectionBox.AllowIntrinsic = false; + this.reflectionBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "Reflection", true)); + this.reflectionBox.HasExtrinsic = false; + this.reflectionBox.HasIntrinsic = false; + this.reflectionBox.Location = new Point(314, 47); + this.reflectionBox.Margin = new Padding(1); + this.reflectionBox.Name = "reflectionBox"; + this.reflectionBox.PropertyImage = Resources.reflection; + this.reflectionBox.PropertyKey = "reflection"; + this.reflectionBox.PropertyName = "Reflection"; + this.reflectionBox.Size = new Size(300, 20); + this.reflectionBox.TabIndex = 74; + // + // acidResistanceBox + // + this.acidResistanceBox.AllowExtrinsic = true; + this.acidResistanceBox.AllowIntrinsic = false; + this.acidResistanceBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "AcidResistance", true)); + this.acidResistanceBox.HasExtrinsic = false; + this.acidResistanceBox.HasIntrinsic = false; + this.acidResistanceBox.Location = new Point(314, 25); + this.acidResistanceBox.Margin = new Padding(1); + this.acidResistanceBox.Name = "acidResistanceBox"; + this.acidResistanceBox.PropertyImage = Resources.acid_resistance; + this.acidResistanceBox.PropertyKey = "acid_resistance"; + this.acidResistanceBox.PropertyName = "Acid Resistance"; + this.acidResistanceBox.Size = new Size(300, 20); + this.acidResistanceBox.TabIndex = 73; + // + // teleportitisBox + // + this.teleportitisBox.AllowExtrinsic = true; + this.teleportitisBox.AllowIntrinsic = true; + this.teleportitisBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "Teleportitis", true)); + this.teleportitisBox.HasExtrinsic = false; + this.teleportitisBox.HasIntrinsic = false; + this.teleportitisBox.Location = new Point(12, 311); + this.teleportitisBox.Margin = new Padding(1); + this.teleportitisBox.Name = "teleportitisBox"; + this.teleportitisBox.PropertyImage = Resources.teleportitis; + this.teleportitisBox.PropertyKey = "teleportitis"; + this.teleportitisBox.PropertyName = "Teleportitis"; + this.teleportitisBox.Size = new Size(300, 20); + this.teleportitisBox.TabIndex = 70; + // + // warningBox + // + this.warningBox.AllowExtrinsic = true; + this.warningBox.AllowIntrinsic = true; + this.warningBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "Warning", true)); + this.warningBox.HasExtrinsic = false; + this.warningBox.HasIntrinsic = false; + this.warningBox.Location = new Point(12, 333); + this.warningBox.Margin = new Padding(1); + this.warningBox.Name = "warningBox"; + this.warningBox.PropertyImage = Resources.warning; + this.warningBox.PropertyKey = "warning"; + this.warningBox.PropertyName = "Warning"; + this.warningBox.Size = new Size(300, 20); + this.warningBox.TabIndex = 69; + // + // disintegrationResistanceBox + // + this.disintegrationResistanceBox.AllowExtrinsic = true; + this.disintegrationResistanceBox.AllowIntrinsic = true; + this.disintegrationResistanceBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "DisintegrationResistance", true)); + this.disintegrationResistanceBox.HasExtrinsic = false; + this.disintegrationResistanceBox.HasIntrinsic = false; + this.disintegrationResistanceBox.Location = new Point(12, 47); + this.disintegrationResistanceBox.Margin = new Padding(1); + this.disintegrationResistanceBox.Name = "disintegrationResistanceBox"; + this.disintegrationResistanceBox.PropertyImage = Resources.disintegration_resistance; + this.disintegrationResistanceBox.PropertyKey = "disintegration_resistance"; + this.disintegrationResistanceBox.PropertyName = "Disintegration Resistance"; + this.disintegrationResistanceBox.Size = new Size(300, 20); + this.disintegrationResistanceBox.TabIndex = 68; + // + // fireResistanceBox + // + this.fireResistanceBox.AllowExtrinsic = true; + this.fireResistanceBox.AllowIntrinsic = true; + this.fireResistanceBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "FireResistance", true)); + this.fireResistanceBox.HasExtrinsic = false; + this.fireResistanceBox.HasIntrinsic = false; + this.fireResistanceBox.Location = new Point(12, 69); + this.fireResistanceBox.Margin = new Padding(1); + this.fireResistanceBox.Name = "fireResistanceBox"; + this.fireResistanceBox.PropertyImage = Resources.fire_resistance; + this.fireResistanceBox.PropertyKey = "fire_resistance"; + this.fireResistanceBox.PropertyName = "Fire Resistance"; + this.fireResistanceBox.Size = new Size(300, 20); + this.fireResistanceBox.TabIndex = 67; + // + // invisibilityBox + // + this.invisibilityBox.AllowExtrinsic = true; + this.invisibilityBox.AllowIntrinsic = true; + this.invisibilityBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "Invisibility", true)); + this.invisibilityBox.HasExtrinsic = false; + this.invisibilityBox.HasIntrinsic = false; + this.invisibilityBox.Location = new Point(12, 91); + this.invisibilityBox.Margin = new Padding(1); + this.invisibilityBox.Name = "invisibilityBox"; + this.invisibilityBox.PropertyImage = Resources.invisibility; + this.invisibilityBox.PropertyKey = "invisibility"; + this.invisibilityBox.PropertyName = "Invisibility"; + this.invisibilityBox.Size = new Size(300, 20); + this.invisibilityBox.TabIndex = 66; + // + // poisonResistanceBox + // + this.poisonResistanceBox.AllowExtrinsic = true; + this.poisonResistanceBox.AllowIntrinsic = true; + this.poisonResistanceBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "PoisonResistance", true)); + this.poisonResistanceBox.HasExtrinsic = false; + this.poisonResistanceBox.HasIntrinsic = false; + this.poisonResistanceBox.Location = new Point(12, 113); + this.poisonResistanceBox.Margin = new Padding(1); + this.poisonResistanceBox.Name = "poisonResistanceBox"; + this.poisonResistanceBox.PropertyImage = Resources.poison_resistance; + this.poisonResistanceBox.PropertyKey = "poison_resistance"; + this.poisonResistanceBox.PropertyName = "Poison Resistance"; + this.poisonResistanceBox.Size = new Size(300, 20); + this.poisonResistanceBox.TabIndex = 65; + // + // searchingBox + // + this.searchingBox.AllowExtrinsic = true; + this.searchingBox.AllowIntrinsic = true; + this.searchingBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "Searching", true)); + this.searchingBox.HasExtrinsic = false; + this.searchingBox.HasIntrinsic = false; + this.searchingBox.Location = new Point(12, 135); + this.searchingBox.Margin = new Padding(1); + this.searchingBox.Name = "searchingBox"; + this.searchingBox.PropertyImage = Resources.searching; + this.searchingBox.PropertyKey = "searching"; + this.searchingBox.PropertyName = "Searching"; + this.searchingBox.Size = new Size(300, 20); + this.searchingBox.TabIndex = 64; + // + // seeInvisibleBox + // + this.seeInvisibleBox.AllowExtrinsic = true; + this.seeInvisibleBox.AllowIntrinsic = true; + this.seeInvisibleBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "SeeInvisible", true)); + this.seeInvisibleBox.HasExtrinsic = false; + this.seeInvisibleBox.HasIntrinsic = false; + this.seeInvisibleBox.Location = new Point(12, 157); + this.seeInvisibleBox.Margin = new Padding(1); + this.seeInvisibleBox.Name = "seeInvisibleBox"; + this.seeInvisibleBox.PropertyImage = Resources.see_invisible; + this.seeInvisibleBox.PropertyKey = "see_invisible"; + this.seeInvisibleBox.PropertyName = "See Invisible"; + this.seeInvisibleBox.Size = new Size(300, 20); + this.seeInvisibleBox.TabIndex = 63; + // + // shockResistanceBox + // + this.shockResistanceBox.AllowExtrinsic = true; + this.shockResistanceBox.AllowIntrinsic = true; + this.shockResistanceBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "ShockResistance", true)); + this.shockResistanceBox.HasExtrinsic = false; + this.shockResistanceBox.HasIntrinsic = false; + this.shockResistanceBox.Location = new Point(12, 179); + this.shockResistanceBox.Margin = new Padding(1); + this.shockResistanceBox.Name = "shockResistanceBox"; + this.shockResistanceBox.PropertyImage = Resources.shock_resistance; + this.shockResistanceBox.PropertyKey = "shock_resistance"; + this.shockResistanceBox.PropertyName = "Shock Resistance"; + this.shockResistanceBox.Size = new Size(300, 20); + this.shockResistanceBox.TabIndex = 62; + // + // sleepResistanceBox + // + this.sleepResistanceBox.AllowExtrinsic = true; + this.sleepResistanceBox.AllowIntrinsic = true; + this.sleepResistanceBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "SleepResistance", true)); + this.sleepResistanceBox.HasExtrinsic = false; + this.sleepResistanceBox.HasIntrinsic = false; + this.sleepResistanceBox.Location = new Point(12, 201); + this.sleepResistanceBox.Margin = new Padding(1); + this.sleepResistanceBox.Name = "sleepResistanceBox"; + this.sleepResistanceBox.PropertyImage = Resources.sleep_resistance; + this.sleepResistanceBox.PropertyKey = "sleep_resistance"; + this.sleepResistanceBox.PropertyName = "Sleep Resistance"; + this.sleepResistanceBox.Size = new Size(300, 20); + this.sleepResistanceBox.TabIndex = 61; + // + // speedBox + // + this.speedBox.AllowExtrinsic = true; + this.speedBox.AllowIntrinsic = true; + this.speedBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "Speed", true)); + this.speedBox.HasExtrinsic = false; + this.speedBox.HasIntrinsic = false; + this.speedBox.Location = new Point(12, 223); + this.speedBox.Margin = new Padding(1); + this.speedBox.Name = "speedBox"; + this.speedBox.PropertyImage = Resources.speed; + this.speedBox.PropertyKey = "speed"; + this.speedBox.PropertyName = "Speed"; + this.speedBox.Size = new Size(300, 20); + this.speedBox.TabIndex = 60; + // + // stealthBox + // + this.stealthBox.AllowExtrinsic = true; + this.stealthBox.AllowIntrinsic = true; + this.stealthBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "Stealth", true)); + this.stealthBox.HasExtrinsic = false; + this.stealthBox.HasIntrinsic = false; + this.stealthBox.Location = new Point(12, 245); + this.stealthBox.Margin = new Padding(1); + this.stealthBox.Name = "stealthBox"; + this.stealthBox.PropertyImage = Resources.stealth; + this.stealthBox.PropertyKey = "stealth"; + this.stealthBox.PropertyName = "Stealth"; + this.stealthBox.Size = new Size(300, 20); + this.stealthBox.TabIndex = 59; + // + // teleportControlBox + // + this.teleportControlBox.AllowExtrinsic = true; + this.teleportControlBox.AllowIntrinsic = true; + this.teleportControlBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "TeleportControl", true)); + this.teleportControlBox.HasExtrinsic = false; + this.teleportControlBox.HasIntrinsic = false; + this.teleportControlBox.Location = new Point(12, 289); + this.teleportControlBox.Margin = new Padding(1); + this.teleportControlBox.Name = "teleportControlBox"; + this.teleportControlBox.PropertyImage = Resources.teleport_control; + this.teleportControlBox.PropertyKey = "teleport_control"; + this.teleportControlBox.PropertyName = "Teleport Control"; + this.teleportControlBox.Size = new Size(300, 20); + this.teleportControlBox.TabIndex = 58; + // + // telepathyBox + // + this.telepathyBox.AllowExtrinsic = true; + this.telepathyBox.AllowIntrinsic = true; + this.telepathyBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "Telepathy", true)); + this.telepathyBox.HasExtrinsic = false; + this.telepathyBox.HasIntrinsic = false; + this.telepathyBox.Location = new Point(12, 267); + this.telepathyBox.Margin = new Padding(1); + this.telepathyBox.Name = "telepathyBox"; + this.telepathyBox.PropertyImage = Resources.telepathy; + this.telepathyBox.PropertyKey = "telepathy"; + this.telepathyBox.PropertyName = "Telepathy"; + this.telepathyBox.Size = new Size(300, 20); + this.telepathyBox.TabIndex = 58; + // + // coldResistanceBox + // + this.coldResistanceBox.AllowExtrinsic = true; + this.coldResistanceBox.AllowIntrinsic = true; + this.coldResistanceBox.DataBindings.Add(new Binding("Property", this.propertiesBindingSource, "ColdResistance", true)); + this.coldResistanceBox.HasExtrinsic = false; + this.coldResistanceBox.HasIntrinsic = false; + this.coldResistanceBox.Location = new Point(12, 25); + this.coldResistanceBox.Margin = new Padding(1); + this.coldResistanceBox.Name = "coldResistanceBox"; + this.coldResistanceBox.PropertyImage = Resources.cold_resistance; + this.coldResistanceBox.PropertyKey = "cold_resistance"; + this.coldResistanceBox.PropertyName = "Cold Resistance"; + this.coldResistanceBox.Size = new Size(300, 20); + this.coldResistanceBox.TabIndex = 57; // // label2 // - label2.AutoSize = true; - label2.Location = new Point(6, 411); - label2.Name = "label2"; - label2.Size = new Size(64, 15); - label2.TabIndex = 18; - label2.Text = "Last Prayer"; + this.label2.AutoSize = true; + this.label2.Location = new Point(12, 396); + this.label2.Name = "label2"; + this.label2.Size = new Size(64, 15); + this.label2.TabIndex = 18; + this.label2.Text = "Last Prayer"; // // lastPrayerPicker // - lastPrayerPicker.DataBindings.Add(new Binding("Value", intrinsicsBindingSource, "LastPrayer", true)); - lastPrayerPicker.Increment = new decimal(new int[] { 1000, 0, 0, 0 }); - lastPrayerPicker.Location = new Point(76, 409); - lastPrayerPicker.Maximum = new decimal(new int[] { 100000, 0, 0, 0 }); - lastPrayerPicker.Name = "lastPrayerPicker"; - lastPrayerPicker.Size = new Size(61, 23); - lastPrayerPicker.TabIndex = 17; - lastPrayerPicker.ThousandsSeparator = true; - // - // intrinsicsBindingSource - // - intrinsicsBindingSource.DataSource = typeof(IntrinsicsSource); - intrinsicsBindingSource.Position = 0; + this.lastPrayerPicker.DataBindings.Add(new Binding("Value", this.propertiesBindingSource, "LastPrayer", true)); + this.lastPrayerPicker.Increment = new decimal(new int[] { 1000, 0, 0, 0 }); + this.lastPrayerPicker.Location = new Point(82, 394); + this.lastPrayerPicker.Maximum = new decimal(new int[] { 100000, 0, 0, 0 }); + this.lastPrayerPicker.Name = "lastPrayerPicker"; + this.lastPrayerPicker.Size = new Size(61, 23); + this.lastPrayerPicker.TabIndex = 17; + this.lastPrayerPicker.ThousandsSeparator = true; + this.lastPrayerPicker.ValueChanged += this.lastPrayerPicker_ValueChanged; // // label1 // - label1.AutoSize = true; - label1.Location = new Point(6, 382); - label1.Name = "label1"; - label1.Size = new Size(62, 15); - label1.TabIndex = 16; - label1.Text = "Protection"; + this.label1.AutoSize = true; + this.label1.Location = new Point(12, 367); + this.label1.Name = "label1"; + this.label1.Size = new Size(62, 15); + this.label1.TabIndex = 16; + this.label1.Text = "Protection"; // // protectionPicker // - protectionPicker.DataBindings.Add(new Binding("Value", intrinsicsBindingSource, "Protection", true)); - protectionPicker.Location = new Point(74, 380); - protectionPicker.Maximum = new decimal(new int[] { 30, 0, 0, 0 }); - protectionPicker.Name = "protectionPicker"; - protectionPicker.Size = new Size(41, 23); - protectionPicker.TabIndex = 15; - // - // warningCheckbox - // - warningCheckbox.AutoSize = true; - warningCheckbox.DataBindings.Add(new Binding("Checked", intrinsicsBindingSource, "Warning", true)); - warningCheckbox.Location = new Point(6, 355); - warningCheckbox.Name = "warningCheckbox"; - warningCheckbox.Size = new Size(71, 19); - warningCheckbox.TabIndex = 14; - warningCheckbox.Text = "Warning"; - warningCheckbox.UseVisualStyleBackColor = true; - // - // teleportitisCheckbox - // - teleportitisCheckbox.AutoSize = true; - teleportitisCheckbox.DataBindings.Add(new Binding("Checked", intrinsicsBindingSource, "Teleportitis", true)); - teleportitisCheckbox.Location = new Point(6, 330); - teleportitisCheckbox.Name = "teleportitisCheckbox"; - teleportitisCheckbox.Size = new Size(83, 19); - teleportitisCheckbox.TabIndex = 13; - teleportitisCheckbox.Text = "Teleportitis"; - teleportitisCheckbox.UseVisualStyleBackColor = true; - // - // teleportControlCheckbox - // - teleportControlCheckbox.AutoSize = true; - teleportControlCheckbox.DataBindings.Add(new Binding("Checked", intrinsicsBindingSource, "TeleportControl", true)); - teleportControlCheckbox.Location = new Point(6, 305); - teleportControlCheckbox.Name = "teleportControlCheckbox"; - teleportControlCheckbox.Size = new Size(111, 19); - teleportControlCheckbox.TabIndex = 12; - teleportControlCheckbox.Text = "Teleport Control"; - teleportControlCheckbox.UseVisualStyleBackColor = true; - // - // telepathyCheckbox - // - telepathyCheckbox.AutoSize = true; - telepathyCheckbox.DataBindings.Add(new Binding("Checked", intrinsicsBindingSource, "Telepathy", true)); - telepathyCheckbox.Location = new Point(6, 280); - telepathyCheckbox.Name = "telepathyCheckbox"; - telepathyCheckbox.Size = new Size(76, 19); - telepathyCheckbox.TabIndex = 11; - telepathyCheckbox.Text = "Telepathy"; - telepathyCheckbox.UseVisualStyleBackColor = true; - // - // stealthCheckbox - // - stealthCheckbox.AutoSize = true; - stealthCheckbox.DataBindings.Add(new Binding("Checked", intrinsicsBindingSource, "Stealth", true)); - stealthCheckbox.Location = new Point(6, 255); - stealthCheckbox.Name = "stealthCheckbox"; - stealthCheckbox.Size = new Size(62, 19); - stealthCheckbox.TabIndex = 10; - stealthCheckbox.Text = "Stealth"; - stealthCheckbox.UseVisualStyleBackColor = true; - // - // speedCheckbox - // - speedCheckbox.AutoSize = true; - speedCheckbox.DataBindings.Add(new Binding("Checked", intrinsicsBindingSource, "Speed", true)); - speedCheckbox.Location = new Point(6, 230); - speedCheckbox.Name = "speedCheckbox"; - speedCheckbox.Size = new Size(58, 19); - speedCheckbox.TabIndex = 9; - speedCheckbox.Text = "Speed"; - speedCheckbox.UseVisualStyleBackColor = true; - // - // sleepResistanceCheckbox - // - sleepResistanceCheckbox.AutoSize = true; - sleepResistanceCheckbox.DataBindings.Add(new Binding("Checked", intrinsicsBindingSource, "SleepResistance", true)); - sleepResistanceCheckbox.Location = new Point(6, 207); - sleepResistanceCheckbox.Name = "sleepResistanceCheckbox"; - sleepResistanceCheckbox.Size = new Size(112, 19); - sleepResistanceCheckbox.TabIndex = 8; - sleepResistanceCheckbox.Text = "Sleep Resistance"; - sleepResistanceCheckbox.UseVisualStyleBackColor = true; - // - // shockResistanceCheckbox - // - shockResistanceCheckbox.AutoSize = true; - shockResistanceCheckbox.DataBindings.Add(new Binding("Checked", intrinsicsBindingSource, "ShockResistance", true)); - shockResistanceCheckbox.Location = new Point(6, 182); - shockResistanceCheckbox.Name = "shockResistanceCheckbox"; - shockResistanceCheckbox.Size = new Size(116, 19); - shockResistanceCheckbox.TabIndex = 7; - shockResistanceCheckbox.Text = "Shock Resistance"; - shockResistanceCheckbox.UseVisualStyleBackColor = true; - // - // seeInvisibleCheckbox - // - seeInvisibleCheckbox.AutoSize = true; - seeInvisibleCheckbox.DataBindings.Add(new Binding("Checked", intrinsicsBindingSource, "SeeInvisible", true)); - seeInvisibleCheckbox.Location = new Point(6, 157); - seeInvisibleCheckbox.Name = "seeInvisibleCheckbox"; - seeInvisibleCheckbox.Size = new Size(90, 19); - seeInvisibleCheckbox.TabIndex = 6; - seeInvisibleCheckbox.Text = "See Invisible"; - seeInvisibleCheckbox.UseVisualStyleBackColor = true; - // - // searchingCheckbox - // - searchingCheckbox.AutoSize = true; - searchingCheckbox.DataBindings.Add(new Binding("Checked", intrinsicsBindingSource, "Searching", true)); - searchingCheckbox.Location = new Point(6, 131); - searchingCheckbox.Name = "searchingCheckbox"; - searchingCheckbox.Size = new Size(78, 19); - searchingCheckbox.TabIndex = 5; - searchingCheckbox.Text = "Searching"; - searchingCheckbox.UseVisualStyleBackColor = true; - // - // poisonResistanceCheckbox - // - poisonResistanceCheckbox.AutoSize = true; - poisonResistanceCheckbox.DataBindings.Add(new Binding("Checked", intrinsicsBindingSource, "PoisonResistance", true)); - poisonResistanceCheckbox.Location = new Point(6, 106); - poisonResistanceCheckbox.Name = "poisonResistanceCheckbox"; - poisonResistanceCheckbox.Size = new Size(120, 19); - poisonResistanceCheckbox.TabIndex = 4; - poisonResistanceCheckbox.Text = "Poison Resistance"; - poisonResistanceCheckbox.UseVisualStyleBackColor = true; - // - // invisibleCheckbox - // - invisibleCheckbox.AutoSize = true; - invisibleCheckbox.DataBindings.Add(new Binding("Checked", intrinsicsBindingSource, "Invisible", true)); - invisibleCheckbox.Location = new Point(6, 81); - invisibleCheckbox.Name = "invisibleCheckbox"; - invisibleCheckbox.Size = new Size(69, 19); - invisibleCheckbox.TabIndex = 3; - invisibleCheckbox.Text = "Inivisble"; - invisibleCheckbox.UseVisualStyleBackColor = true; - // - // fireResistanceCheckbox - // - fireResistanceCheckbox.AutoSize = true; - fireResistanceCheckbox.DataBindings.Add(new Binding("Checked", intrinsicsBindingSource, "FireResistance", true)); - fireResistanceCheckbox.Location = new Point(6, 56); - fireResistanceCheckbox.Name = "fireResistanceCheckbox"; - fireResistanceCheckbox.Size = new Size(103, 19); - fireResistanceCheckbox.TabIndex = 2; - fireResistanceCheckbox.Text = "Fire Resistance"; - fireResistanceCheckbox.UseVisualStyleBackColor = true; - // - // disintegrationResistanceCheckbox - // - disintegrationResistanceCheckbox.AutoSize = true; - disintegrationResistanceCheckbox.DataBindings.Add(new Binding("Checked", intrinsicsBindingSource, "DisintegrationResistance", true)); - disintegrationResistanceCheckbox.Location = new Point(6, 31); - disintegrationResistanceCheckbox.Name = "disintegrationResistanceCheckbox"; - disintegrationResistanceCheckbox.Size = new Size(158, 19); - disintegrationResistanceCheckbox.TabIndex = 1; - disintegrationResistanceCheckbox.Text = "Disintegration Resistance"; - disintegrationResistanceCheckbox.UseVisualStyleBackColor = true; - // - // coldResistanceCheckbox - // - coldResistanceCheckbox.AutoSize = true; - coldResistanceCheckbox.DataBindings.Add(new Binding("Checked", intrinsicsBindingSource, "ColdResistance", true)); - coldResistanceCheckbox.Location = new Point(6, 6); - coldResistanceCheckbox.Name = "coldResistanceCheckbox"; - coldResistanceCheckbox.Size = new Size(109, 19); - coldResistanceCheckbox.TabIndex = 0; - coldResistanceCheckbox.Text = "Cold Resistance"; - coldResistanceCheckbox.UseVisualStyleBackColor = true; + this.protectionPicker.DataBindings.Add(new Binding("Value", this.propertiesBindingSource, "Protection", true)); + this.protectionPicker.Location = new Point(80, 365); + this.protectionPicker.Maximum = new decimal(new int[] { 30, 0, 0, 0 }); + this.protectionPicker.Name = "protectionPicker"; + this.protectionPicker.Size = new Size(41, 23); + this.protectionPicker.TabIndex = 15; + this.protectionPicker.ValueChanged += this.protectionPicker_ValueChanged; // // sokobanTab // - sokobanTab.Controls.Add(sokobanVertical); - sokobanTab.Controls.Add(sokobanHorizontal); - sokobanTab.Controls.Add(sokobanPrev); - sokobanTab.Controls.Add(sokobanNext); - sokobanTab.Controls.Add(sokobanSolution); - sokobanTab.Controls.Add(sokobanLevelList); - sokobanTab.Location = new Point(4, 24); - sokobanTab.Name = "sokobanTab"; - sokobanTab.Padding = new Padding(3); - sokobanTab.Size = new Size(664, 593); - sokobanTab.TabIndex = 0; - sokobanTab.Text = "Sokoban"; - sokobanTab.UseVisualStyleBackColor = true; + this.sokobanTab.Controls.Add(this.sokobanVertical); + this.sokobanTab.Controls.Add(this.sokobanHorizontal); + this.sokobanTab.Controls.Add(this.sokobanPrev); + this.sokobanTab.Controls.Add(this.sokobanNext); + this.sokobanTab.Controls.Add(this.sokobanSolution); + this.sokobanTab.Controls.Add(this.sokobanLevelList); + this.sokobanTab.Location = new Point(4, 24); + this.sokobanTab.Name = "sokobanTab"; + this.sokobanTab.Padding = new Padding(3); + this.sokobanTab.Size = new Size(664, 593); + this.sokobanTab.TabIndex = 0; + this.sokobanTab.Text = "Sokoban"; + this.sokobanTab.UseVisualStyleBackColor = true; // // sokobanVertical // - sokobanVertical.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; - sokobanVertical.Location = new Point(151, 564); - sokobanVertical.Name = "sokobanVertical"; - sokobanVertical.Size = new Size(123, 23); - sokobanVertical.TabIndex = 3; - sokobanVertical.Text = "Vertical Reflection"; - sokobanVertical.UseVisualStyleBackColor = true; - sokobanVertical.CheckedChanged += sokobanReflection_CheckedChanged; - sokobanVertical.KeyDown += sokobanLevelList_KeyDown; + this.sokobanVertical.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + this.sokobanVertical.Location = new Point(151, 564); + this.sokobanVertical.Name = "sokobanVertical"; + this.sokobanVertical.Size = new Size(123, 23); + this.sokobanVertical.TabIndex = 3; + this.sokobanVertical.Text = "Vertical Reflection"; + this.sokobanVertical.UseVisualStyleBackColor = true; + this.sokobanVertical.CheckedChanged += this.sokobanReflection_CheckedChanged; + this.sokobanVertical.KeyDown += this.sokobanLevelList_KeyDown; // // sokobanHorizontal // - sokobanHorizontal.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; - sokobanHorizontal.Location = new Point(6, 564); - sokobanHorizontal.Name = "sokobanHorizontal"; - sokobanHorizontal.Size = new Size(139, 23); - sokobanHorizontal.TabIndex = 2; - sokobanHorizontal.Text = "Horizontal Reflection"; - sokobanHorizontal.UseVisualStyleBackColor = true; - sokobanHorizontal.CheckedChanged += sokobanReflection_CheckedChanged; - sokobanHorizontal.KeyDown += sokobanLevelList_KeyDown; + this.sokobanHorizontal.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + this.sokobanHorizontal.Location = new Point(6, 564); + this.sokobanHorizontal.Name = "sokobanHorizontal"; + this.sokobanHorizontal.Size = new Size(139, 23); + this.sokobanHorizontal.TabIndex = 2; + this.sokobanHorizontal.Text = "Horizontal Reflection"; + this.sokobanHorizontal.UseVisualStyleBackColor = true; + this.sokobanHorizontal.CheckedChanged += this.sokobanReflection_CheckedChanged; + this.sokobanHorizontal.KeyDown += this.sokobanLevelList_KeyDown; // // sokobanPrev // - sokobanPrev.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; - sokobanPrev.Location = new Point(438, 563); - sokobanPrev.Name = "sokobanPrev"; - sokobanPrev.Size = new Size(24, 23); - sokobanPrev.TabIndex = 4; - sokobanPrev.Text = "<"; - sokobanPrev.UseVisualStyleBackColor = true; - sokobanPrev.Click += sokobanPrev_Click; - sokobanPrev.KeyDown += sokobanLevelList_KeyDown; + this.sokobanPrev.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + this.sokobanPrev.Location = new Point(438, 563); + this.sokobanPrev.Name = "sokobanPrev"; + this.sokobanPrev.Size = new Size(24, 23); + this.sokobanPrev.TabIndex = 4; + this.sokobanPrev.Text = "<"; + this.sokobanPrev.UseVisualStyleBackColor = true; + this.sokobanPrev.Click += this.sokobanPrev_Click; + this.sokobanPrev.KeyDown += this.sokobanLevelList_KeyDown; // // sokobanNext // - sokobanNext.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; - sokobanNext.Location = new Point(468, 563); - sokobanNext.Name = "sokobanNext"; - sokobanNext.Size = new Size(24, 23); - sokobanNext.TabIndex = 5; - sokobanNext.Text = ">"; - sokobanNext.UseVisualStyleBackColor = true; - sokobanNext.Click += sokobanNext_Click; - sokobanNext.KeyDown += sokobanLevelList_KeyDown; + this.sokobanNext.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + this.sokobanNext.Location = new Point(468, 563); + this.sokobanNext.Name = "sokobanNext"; + this.sokobanNext.Size = new Size(24, 23); + this.sokobanNext.TabIndex = 5; + this.sokobanNext.Text = ">"; + this.sokobanNext.UseVisualStyleBackColor = true; + this.sokobanNext.Click += this.sokobanNext_Click; + this.sokobanNext.KeyDown += this.sokobanLevelList_KeyDown; // // sokobanSolution // - sokobanSolution.Font = new Font("Consolas", 18F); - sokobanSolution.Location = new Point(6, 6); - sokobanSolution.Name = "sokobanSolution"; - sokobanSolution.Size = new Size(486, 554); - sokobanSolution.TabIndex = 1; + this.sokobanSolution.Font = new Font("Consolas", 18F); + this.sokobanSolution.Location = new Point(6, 6); + this.sokobanSolution.Name = "sokobanSolution"; + this.sokobanSolution.Size = new Size(486, 554); + this.sokobanSolution.TabIndex = 1; // // sokobanLevelList // - sokobanLevelList.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Right; - sokobanLevelList.FormattingEnabled = true; - sokobanLevelList.IntegralHeight = false; - sokobanLevelList.Location = new Point(498, 6); - sokobanLevelList.Name = "sokobanLevelList"; - sokobanLevelList.Size = new Size(160, 581); - sokobanLevelList.TabIndex = 1; - sokobanLevelList.SelectedIndexChanged += sokobanLevelList_SelectedIndexChanged; - sokobanLevelList.KeyDown += sokobanLevelList_KeyDown; + this.sokobanLevelList.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Right; + this.sokobanLevelList.FormattingEnabled = true; + this.sokobanLevelList.IntegralHeight = false; + this.sokobanLevelList.Location = new Point(498, 6); + this.sokobanLevelList.Name = "sokobanLevelList"; + this.sokobanLevelList.Size = new Size(160, 581); + this.sokobanLevelList.TabIndex = 1; + this.sokobanLevelList.SelectedIndexChanged += this.sokobanLevelList_SelectedIndexChanged; + this.sokobanLevelList.KeyDown += this.sokobanLevelList_KeyDown; // // charismaSourceBindingSource // - charismaSourceBindingSource.DataSource = typeof(CharismaSource); - charismaSourceBindingSource.Position = 0; + this.charismaSourceBindingSource.DataSource = typeof(CharismaSource); + this.charismaSourceBindingSource.Position = 0; // // mainMenu // - mainMenu.Items.AddRange(new ToolStripItem[] { fileToolStripMenuItem }); - mainMenu.Location = new Point(0, 0); - mainMenu.Name = "mainMenu"; - mainMenu.Size = new Size(696, 24); - mainMenu.TabIndex = 1; + this.mainMenu.Items.AddRange(new ToolStripItem[] { this.fileToolStripMenuItem }); + this.mainMenu.Location = new Point(0, 0); + this.mainMenu.Name = "mainMenu"; + this.mainMenu.Size = new Size(696, 24); + this.mainMenu.TabIndex = 1; // // fileToolStripMenuItem // - fileToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { resetToolStripMenuItem }); - fileToolStripMenuItem.Name = "fileToolStripMenuItem"; - fileToolStripMenuItem.Size = new Size(37, 20); - fileToolStripMenuItem.Text = "File"; + this.fileToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { this.resetToolStripMenuItem }); + this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; + this.fileToolStripMenuItem.Size = new Size(37, 20); + this.fileToolStripMenuItem.Text = "File"; // // resetToolStripMenuItem // - resetToolStripMenuItem.Name = "resetToolStripMenuItem"; - resetToolStripMenuItem.Size = new Size(102, 22); - resetToolStripMenuItem.Text = "Reset"; + this.resetToolStripMenuItem.Name = "resetToolStripMenuItem"; + this.resetToolStripMenuItem.Size = new Size(102, 22); + this.resetToolStripMenuItem.Text = "Reset"; // // MainForm // - AutoScaleDimensions = new SizeF(7F, 15F); - AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(696, 660); - Controls.Add(mainTabControl); - Controls.Add(mainMenu); - Icon = (Icon) resources.GetObject("$this.Icon"); - MainMenuStrip = mainMenu; - MaximizeBox = false; - MaximumSize = new Size(712, 1200); - MinimumSize = new Size(712, 500); - Name = "MainForm"; - SizeGripStyle = SizeGripStyle.Hide; - StartPosition = FormStartPosition.CenterScreen; - Text = "NethackHelper"; - FormClosing += Form1_FormClosing; - mainTabControl.ResumeLayout(false); - itemsTab.ResumeLayout(false); - itemsTab.PerformLayout(); - ((System.ComponentModel.ISupportInitialize) saveSourceBindingSource).EndInit(); - itemTabControl.ResumeLayout(false); - scrollPotionTab.ResumeLayout(false); - wandRingTab.ResumeLayout(false); - spellbookTab.ResumeLayout(false); - toolsTab.ResumeLayout(false); - intrinsicsTab.ResumeLayout(false); - intrinsicsTab.PerformLayout(); - ((System.ComponentModel.ISupportInitialize) lastPrayerPicker).EndInit(); - ((System.ComponentModel.ISupportInitialize) intrinsicsBindingSource).EndInit(); - ((System.ComponentModel.ISupportInitialize) protectionPicker).EndInit(); - sokobanTab.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize) charismaSourceBindingSource).EndInit(); - mainMenu.ResumeLayout(false); - mainMenu.PerformLayout(); - ResumeLayout(false); - PerformLayout(); + this.AutoScaleDimensions = new SizeF(7F, 15F); + this.AutoScaleMode = AutoScaleMode.Font; + this.ClientSize = new Size(696, 660); + this.Controls.Add(this.mainTabControl); + this.Controls.Add(this.mainMenu); + this.Icon = (Icon) resources.GetObject("$this.Icon"); + this.MainMenuStrip = this.mainMenu; + this.MaximizeBox = false; + this.MaximumSize = new Size(712, 1200); + this.MinimumSize = new Size(712, 500); + this.Name = "MainForm"; + this.SizeGripStyle = SizeGripStyle.Hide; + this.StartPosition = FormStartPosition.CenterScreen; + this.Text = "NethackHelper"; + this.FormClosing += this.MainForm_FormClosing; + this.mainTabControl.ResumeLayout(false); + this.itemsTab.ResumeLayout(false); + this.itemsTab.PerformLayout(); + ((System.ComponentModel.ISupportInitialize) this.saveSourceBindingSource).EndInit(); + this.itemTabControl.ResumeLayout(false); + this.scrollPotionTab.ResumeLayout(false); + this.wandRingTab.ResumeLayout(false); + this.spellbookTab.ResumeLayout(false); + this.toolsTab.ResumeLayout(false); + this.propertiesTab.ResumeLayout(false); + this.propertiesTab.PerformLayout(); + ((System.ComponentModel.ISupportInitialize) this.propertiesBindingSource).EndInit(); + ((System.ComponentModel.ISupportInitialize) this.lastPrayerPicker).EndInit(); + ((System.ComponentModel.ISupportInitialize) this.protectionPicker).EndInit(); + this.sokobanTab.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize) this.charismaSourceBindingSource).EndInit(); + this.mainMenu.ResumeLayout(false); + this.mainMenu.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); } #endregion @@ -698,27 +1053,12 @@ namespace NethackHelper { private ItemDisplay ringDisplay; private ItemDisplay wandDisplay; private CheckBox suckerBox; - private TabPage intrinsicsTab; - private CheckBox warningCheckbox; - private CheckBox teleportitisCheckbox; - private CheckBox teleportControlCheckbox; - private CheckBox telepathyCheckbox; - private CheckBox stealthCheckbox; - private CheckBox speedCheckbox; - private CheckBox sleepResistanceCheckbox; - private CheckBox shockResistanceCheckbox; - private CheckBox seeInvisibleCheckbox; - private CheckBox searchingCheckbox; - private CheckBox poisonResistanceCheckbox; - private CheckBox invisibleCheckbox; - private CheckBox fireResistanceCheckbox; - private CheckBox disintegrationResistanceCheckbox; - private CheckBox coldResistanceCheckbox; + private TabPage propertiesTab; private Label label2; private NumericUpDown lastPrayerPicker; private Label label1; private NumericUpDown protectionPicker; - private BindingSource intrinsicsBindingSource; + private BindingSource propertiesBindingSource; private BindingSource saveSourceBindingSource; private BindingSource charismaSourceBindingSource; private MenuStrip mainMenu; @@ -731,5 +1071,35 @@ namespace NethackHelper { private TabPage toolsTab; private ItemDisplay toolDisplay; private ItemDisplay armorDisplay; + private Label extrinsicLabel; + private PropertyBox coldResistanceBox; + private PropertyBox disintegrationResistanceBox; + private PropertyBox fireResistanceBox; + private PropertyBox invisibilityBox; + private PropertyBox poisonResistanceBox; + private PropertyBox searchingBox; + private PropertyBox seeInvisibleBox; + private PropertyBox shockResistanceBox; + private PropertyBox sleepResistanceBox; + private PropertyBox speedBox; + private PropertyBox stealthBox; + private PropertyBox telepathyBox; + private PropertyBox teleportitisBox; + private PropertyBox warningBox; + private PropertyBox teleportControlBox; + private PropertyBox polymorphControlBox; + private PropertyBox polymorphitisBox; + private PropertyBox protectionFromShapeChangersBox; + private PropertyBox regenerationBox; + private PropertyBox conflictBox; + private PropertyBox aggravateMonsterBox; + private PropertyBox magicalBreathingBox; + private PropertyBox magicResistanceBox; + private PropertyBox reflectionBox; + private PropertyBox acidResistanceBox; + private PropertyBox freeActionBox; + private PropertyBox slowDigestionBox; + private PropertyBox hungerBox; + private CheckBox godAngryCheckbox; } } \ No newline at end of file diff --git a/NethackHelper/MainForm.cs b/NethackHelper/MainForm.cs index 48345a3..4019c8c 100644 --- a/NethackHelper/MainForm.cs +++ b/NethackHelper/MainForm.cs @@ -1,10 +1,16 @@ namespace NethackHelper { + using Microsoft.AspNetCore.Builder; + using Microsoft.AspNetCore.SignalR; + using Microsoft.Extensions.DependencyInjection; using System; using System.Collections.Generic; using System.IO; + using System.Threading.Tasks; using System.Windows.Forms; public partial class MainForm : Form { + private const int PORT = 5993; + private readonly List sokobans = []; private int sokobanStepIndex = 0; @@ -46,6 +52,27 @@ namespace NethackHelper { } this.LoadSave(); + + this.RunWebserver(); + } + + private void RunWebserver() { + WebApplicationBuilder builder = WebApplication.CreateBuilder(); + builder.Services.AddSignalR(); + + WebApplication app = builder.Build(); + + app.UseStaticFiles(); + app.MapHub("/webview"); + + string baseUrl = $"http://localhost:{PORT}/"; + Task _ = app.RunAsync(baseUrl); + + IHubContext? hub = app.Services.GetService>(); + + if (hub != null) { + TrackerManager.Instance.Tracker = hub.Clients.All; + } } private void Reset(Version version) { @@ -62,7 +89,7 @@ namespace NethackHelper { this.Text = "NethackHelper - " + version.Name; - intrinsicsBindingSource.DataSource = save.Intrinsics; + propertiesBindingSource.DataSource = save.Properties; charismaSelector.SelectedItem = save.CharismaClass; @@ -196,7 +223,7 @@ namespace NethackHelper { } } - private void Form1_FormClosing(object sender, FormClosingEventArgs e) { + private void MainForm_FormClosing(object sender, FormClosingEventArgs e) { var save = SaveData.Instance; save.Potions = this.potionDisplay.Export(); save.Rings = this.ringDisplay.Export(); @@ -209,5 +236,17 @@ namespace NethackHelper { save.Save(); } + + private void protectionPicker_ValueChanged(object sender, EventArgs e) { + TrackerManager.Instance.Tracker.UpdateProtection((int) protectionPicker.Value); + } + + private void lastPrayerPicker_ValueChanged(object sender, EventArgs e) { + TrackerManager.Instance.Tracker.UpdatePrayer((int) lastPrayerPicker.Value); + } + + private void godAngryCheckbox_CheckedChanged(object sender, EventArgs e) { + TrackerManager.Instance.Tracker.UpdateAngry(godAngryCheckbox.Checked); + } } } \ No newline at end of file diff --git a/NethackHelper/MainForm.resx b/NethackHelper/MainForm.resx index e9380f2..81c0c41 100644 --- a/NethackHelper/MainForm.resx +++ b/NethackHelper/MainForm.resx @@ -117,11 +117,17 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + False + + + False + - 410, 17 + 416, 17 - 712, 17 + 718, 17 @@ -248,14 +254,14 @@ AAAAAACPAAAAAQYAAAAFAAAAAfj////5////AQAAAC0AAAAL - - 232, 17 - - + 17, 17 + + 201, 17 + - 600, 17 + 606, 17 diff --git a/NethackHelper/NethackHelper.csproj b/NethackHelper/NethackHelper.csproj index b516735..d5fbdc9 100644 --- a/NethackHelper/NethackHelper.csproj +++ b/NethackHelper/NethackHelper.csproj @@ -7,6 +7,7 @@ true disable icon.ico + 2.0.0 @@ -15,6 +16,7 @@ + @@ -24,12 +26,36 @@ PreserveNewest + + Always + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + + + + True + True + Resources.resx + + + ResXFileCodeGenerator + Resources.Designer.cs + \ No newline at end of file diff --git a/NethackHelper/Properties/DataSources/Intrinsics.datasource b/NethackHelper/Properties/DataSources/PropertiesSource.datasource similarity index 63% rename from NethackHelper/Properties/DataSources/Intrinsics.datasource rename to NethackHelper/Properties/DataSources/PropertiesSource.datasource index dfdca3e..1b13f21 100644 --- a/NethackHelper/Properties/DataSources/Intrinsics.datasource +++ b/NethackHelper/Properties/DataSources/PropertiesSource.datasource @@ -5,6 +5,6 @@ Renaming the file extension or editing the content of this file may cause the file to be unrecognizable by the program. --> - - NethackHelper.Intrinsics, NethackHelper, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + NethackHelper.Properties, NethackHelper, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null \ No newline at end of file diff --git a/NethackHelper/Properties/Resources.Designer.cs b/NethackHelper/Properties/Resources.Designer.cs new file mode 100644 index 0000000..424f525 --- /dev/null +++ b/NethackHelper/Properties/Resources.Designer.cs @@ -0,0 +1,413 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace NethackHelper.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("NethackHelper.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap acid_resistance { + get { + object obj = ResourceManager.GetObject("acid_resistance", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap aggravate_monster { + get { + object obj = ResourceManager.GetObject("aggravate_monster", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap angry_god { + get { + object obj = ResourceManager.GetObject("angry_god", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap cold_resistance { + get { + object obj = ResourceManager.GetObject("cold_resistance", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap conflict { + get { + object obj = ResourceManager.GetObject("conflict", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap disintegration_resistance { + get { + object obj = ResourceManager.GetObject("disintegration_resistance", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap fire_resistance { + get { + object obj = ResourceManager.GetObject("fire_resistance", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap food_appraisal { + get { + object obj = ResourceManager.GetObject("food_appraisal", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap free_action { + get { + object obj = ResourceManager.GetObject("free_action", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap hunger { + get { + object obj = ResourceManager.GetObject("hunger", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap infravision { + get { + object obj = ResourceManager.GetObject("infravision", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap invisibility { + get { + object obj = ResourceManager.GetObject("invisibility", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap jumping { + get { + object obj = ResourceManager.GetObject("jumping", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap levitation { + get { + object obj = ResourceManager.GetObject("levitation", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap magic_resistance { + get { + object obj = ResourceManager.GetObject("magic_resistance", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap magical_breathing { + get { + object obj = ResourceManager.GetObject("magical_breathing", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap poison_resistance { + get { + object obj = ResourceManager.GetObject("poison_resistance", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap polymorph_control { + get { + object obj = ResourceManager.GetObject("polymorph_control", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap polymorphitis { + get { + object obj = ResourceManager.GetObject("polymorphitis", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap prayer_timeout { + get { + object obj = ResourceManager.GetObject("prayer_timeout", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap protection { + get { + object obj = ResourceManager.GetObject("protection", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap protection_from_shape_changers { + get { + object obj = ResourceManager.GetObject("protection_from_shape_changers", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap reflection { + get { + object obj = ResourceManager.GetObject("reflection", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap regeneration { + get { + object obj = ResourceManager.GetObject("regeneration", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap searching { + get { + object obj = ResourceManager.GetObject("searching", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap see_invisible { + get { + object obj = ResourceManager.GetObject("see_invisible", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap shock_resistance { + get { + object obj = ResourceManager.GetObject("shock_resistance", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap sleep_resistance { + get { + object obj = ResourceManager.GetObject("sleep_resistance", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap slow_digestion { + get { + object obj = ResourceManager.GetObject("slow_digestion", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap speed { + get { + object obj = ResourceManager.GetObject("speed", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap stealth { + get { + object obj = ResourceManager.GetObject("stealth", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap telepathy { + get { + object obj = ResourceManager.GetObject("telepathy", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap teleport_control { + get { + object obj = ResourceManager.GetObject("teleport_control", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap teleportitis { + get { + object obj = ResourceManager.GetObject("teleportitis", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap warning { + get { + object obj = ResourceManager.GetObject("warning", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/NethackHelper/Properties/Resources.resx b/NethackHelper/Properties/Resources.resx new file mode 100644 index 0000000..058e1cd --- /dev/null +++ b/NethackHelper/Properties/Resources.resx @@ -0,0 +1,226 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\wwwroot\icons\acid_resistance.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\aggravate_monster.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\angry_god.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\cold_resistance.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\conflict.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\disintegration_resistance.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\fire_resistance.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\food_appraisal.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\free_action.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\hunger.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\infravision.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\invisibility.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\jumping.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\levitation.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\magical_breathing.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\magic_resistance.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\poison_resistance.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\polymorphitis.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\polymorph_control.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\prayer_timeout.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\protection.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\protection_from_shape_changers.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\reflection.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\regeneration.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\searching.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\see_invisible.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\shock_resistance.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\sleep_resistance.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\slow_digestion.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\speed.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\stealth.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\telepathy.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\teleportitis.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\teleport_control.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\wwwroot\icons\warning.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + diff --git a/NethackHelper/PropertyBox.Designer.cs b/NethackHelper/PropertyBox.Designer.cs new file mode 100644 index 0000000..844bcd9 --- /dev/null +++ b/NethackHelper/PropertyBox.Designer.cs @@ -0,0 +1,100 @@ +namespace NethackHelper { + partial class PropertyBox { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.extrinsicCheckBox = new System.Windows.Forms.CheckBox(); + this.intrinsicCheckBox = new System.Windows.Forms.CheckBox(); + this.propertyLabel = new System.Windows.Forms.Label(); + this.propertyIcon = new System.Windows.Forms.PictureBox(); + ((System.ComponentModel.ISupportInitialize) this.propertyIcon).BeginInit(); + this.SuspendLayout(); + // + // extrinsicCheckBox + // + this.extrinsicCheckBox.Dock = System.Windows.Forms.DockStyle.Left; + this.extrinsicCheckBox.Location = new System.Drawing.Point(0, 0); + this.extrinsicCheckBox.Name = "extrinsicCheckBox"; + this.extrinsicCheckBox.Padding = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.extrinsicCheckBox.Size = new System.Drawing.Size(23, 30); + this.extrinsicCheckBox.TabIndex = 0; + this.extrinsicCheckBox.UseVisualStyleBackColor = true; + this.extrinsicCheckBox.CheckedChanged += this.extrinsicCheckBox_CheckedChanged; + // + // intrinsicCheckBox + // + this.intrinsicCheckBox.Dock = System.Windows.Forms.DockStyle.Left; + this.intrinsicCheckBox.Location = new System.Drawing.Point(23, 0); + this.intrinsicCheckBox.Name = "intrinsicCheckBox"; + this.intrinsicCheckBox.Padding = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.intrinsicCheckBox.Size = new System.Drawing.Size(23, 30); + this.intrinsicCheckBox.TabIndex = 1; + this.intrinsicCheckBox.UseVisualStyleBackColor = true; + this.intrinsicCheckBox.CheckedChanged += this.intrinsicCheckBox_CheckedChanged; + // + // propertyLabel + // + this.propertyLabel.Dock = System.Windows.Forms.DockStyle.Fill; + this.propertyLabel.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.propertyLabel.Location = new System.Drawing.Point(68, 0); + this.propertyLabel.Name = "propertyLabel"; + this.propertyLabel.Padding = new System.Windows.Forms.Padding(0, 0, 0, 2); + this.propertyLabel.Size = new System.Drawing.Size(232, 30); + this.propertyLabel.TabIndex = 2; + this.propertyLabel.Text = "Silliness Resistance"; + this.propertyLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // propertyIcon + // + this.propertyIcon.Dock = System.Windows.Forms.DockStyle.Left; + this.propertyIcon.Location = new System.Drawing.Point(46, 0); + this.propertyIcon.Margin = new System.Windows.Forms.Padding(0); + this.propertyIcon.Name = "propertyIcon"; + this.propertyIcon.Size = new System.Drawing.Size(22, 30); + this.propertyIcon.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.propertyIcon.TabIndex = 3; + this.propertyIcon.TabStop = false; + this.propertyIcon.Visible = false; + // + // PropertyBox + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.propertyLabel); + this.Controls.Add(this.propertyIcon); + this.Controls.Add(this.intrinsicCheckBox); + this.Controls.Add(this.extrinsicCheckBox); + this.Name = "PropertyBox"; + this.Size = new System.Drawing.Size(300, 30); + ((System.ComponentModel.ISupportInitialize) this.propertyIcon).EndInit(); + this.ResumeLayout(false); + } + + #endregion + + private System.Windows.Forms.CheckBox extrinsicCheckBox; + private System.Windows.Forms.CheckBox intrinsicCheckBox; + private System.Windows.Forms.Label propertyLabel; + private System.Windows.Forms.PictureBox propertyIcon; + } +} diff --git a/NethackHelper/PropertyBox.cs b/NethackHelper/PropertyBox.cs new file mode 100644 index 0000000..6249d70 --- /dev/null +++ b/NethackHelper/PropertyBox.cs @@ -0,0 +1,99 @@ +namespace NethackHelper { + using System.ComponentModel; + using System.Drawing; + using System.Windows.Forms; + + public partial class PropertyBox : UserControl { + public PropertyBox() { + InitializeComponent(); + } + + [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] + public string PropertyKey { get; set; } + + [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] + public string PropertyName { + get { + return propertyLabel.Text; + } + set { + propertyLabel.Text = value; + } + } + + [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] + public bool AllowExtrinsic { + get { + return extrinsicCheckBox.Enabled; + } + set { + extrinsicCheckBox.Enabled = value; + } + } + + [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] + public bool AllowIntrinsic { + get { + return intrinsicCheckBox.Enabled; + } + set { + intrinsicCheckBox.Enabled = value; + } + } + + [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] + public bool HasExtrinsic { + get { + return extrinsicCheckBox.Checked; + } + set { + extrinsicCheckBox.Checked = value; + } + } + + [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] + public bool HasIntrinsic { + get { + return intrinsicCheckBox.Checked; + } + set { + intrinsicCheckBox.Checked = value; + } + } + + [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] + public Image? PropertyImage { + get { + return propertyIcon.Visible ? propertyIcon.Image : null; + } + set { + propertyIcon.Visible = value != null; + if (value != null) { + propertyIcon.Image = value; + } + } + } + + [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] + public Property Property { + get { + return new() { + Extrinsic = HasExtrinsic, + Intrinsic = HasIntrinsic, + }; + } + set { + HasExtrinsic = value.Extrinsic; + HasIntrinsic = value.Intrinsic; + } + } + + private void intrinsicCheckBox_CheckedChanged(object sender, System.EventArgs e) { + TrackerManager.Instance.Tracker.UpdateProperty(PropertyKey, "intrinsic", intrinsicCheckBox.Checked); + } + + private void extrinsicCheckBox_CheckedChanged(object sender, System.EventArgs e) { + TrackerManager.Instance.Tracker.UpdateProperty(PropertyKey, "extrinsic", extrinsicCheckBox.Checked); + } + } +} diff --git a/NethackHelper/PropertyBox.resx b/NethackHelper/PropertyBox.resx new file mode 100644 index 0000000..8b2ff64 --- /dev/null +++ b/NethackHelper/PropertyBox.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/NethackHelper/SaveData.cs b/NethackHelper/SaveData.cs index bc79825..6c4c8eb 100644 --- a/NethackHelper/SaveData.cs +++ b/NethackHelper/SaveData.cs @@ -18,13 +18,18 @@ private SaveData() { var fileName = Path.Combine(Application.UserAppDataPath, SAVE_NAME); - var save = YamlOptions.DeserializeFileOrDefault(fileName); + + SaveFile? save = null; + try { + save = YamlOptions.DeserializeFileOrDefault(fileName); + } catch (YamlDotNet.Core.YamlException) { + } if (save != null) { this.Version = save.Version; this.CharismaClass = save.CharismaClass; this.Sucker = save.Sucker; - this.Intrinsics = save.Intrinsics; + this.Properties = save.Properties; if (save.Potions != null && save.Potions.Count > 0) { this.Potions = new(save.Potions); } @@ -59,7 +64,7 @@ Version = this.Version, CharismaClass = this.CharismaClass, Sucker = this.Sucker, - Intrinsics = this.Intrinsics, + Properties = this.Properties, Potions = this.Potions?.Export() ?? [], Rings = this.Rings?.Export() ?? [], Scrolls = this.Scrolls?.Export() ?? [], @@ -85,13 +90,13 @@ this.Amulets = null; this.Tools = null; this.Armor = null; - this.Intrinsics = new(); + this.Properties = new(); } public string Version { get; set; } = string.Empty; public CharismaClass CharismaClass { get; set; } = CharismaClass.DefaultClass; public bool Sucker { get; set; } - public Intrinsics Intrinsics { get; set; } = new(); + public GameProperties Properties { get; set; } = new(); public IdentificationRecord? Potions { get; set; } public IdentificationRecord? Rings { get; set; } public IdentificationRecord? Scrolls { get; set; } @@ -131,7 +136,7 @@ public string Version { get; set; } = string.Empty; public CharismaClass CharismaClass { get; set; } = CharismaClass.DefaultClass; public bool Sucker { get; set; } - public Intrinsics Intrinsics { get; set; } = new(); + public GameProperties Properties { get; set; } = new(); public List Potions { get; set; } = []; public List Rings { get; set; } = []; @@ -143,29 +148,50 @@ public List Armor { get; set; } = []; } - public class Intrinsics { - public bool ColdResistance { get; set; } - public bool DisintegrationResistance { get; set; } - public bool FireResistance { get; set; } - public bool Invisible { get; set; } - public bool PoisonResistance { get; set; } - public bool Searching { get; set; } - public bool SeeInvisible { get; set; } - public bool ShockResistance { get; set; } - public bool SleepResistance { get; set; } - public bool Speed { get; set; } - public bool Stealth { get; set; } - public bool Telepathy { get; set; } - public bool TeleportControl { get; set; } - public bool Teleportitis { get; set; } - public bool Warning { get; set; } - public int Protection { get; set; } - public int LastPrayer { get; set; } + public struct Property { + public bool Intrinsic { get; set; } + public bool Extrinsic { get; set; } } - public class IntrinsicsSource : BindingSource { - public IntrinsicsSource() { - this.DataSource = SaveData.Instance.Intrinsics; + public class GameProperties { + public Property ColdResistance { get; set; } + public Property DisintegrationResistance { get; set; } + public Property FireResistance { get; set; } + public Property Invisibility { get; set; } + public Property PoisonResistance { get; set; } + public Property Searching { get; set; } + public Property SeeInvisible { get; set; } + public Property ShockResistance { get; set; } + public Property SleepResistance { get; set; } + public Property Speed { get; set; } + public Property Stealth { get; set; } + public Property Telepathy { get; set; } + public Property TeleportControl { get; set; } + public Property Teleportitis { get; set; } + public Property Warning { get; set; } + + public Property ProtectionFromShapeChangers { get; set; } + public Property PolymorphControl { get; set; } + public Property Polymorphitis { get; set; } + public Property MagicResistance { get; set; } + public Property Reflection { get; set; } + public Property Regeneration { get; set; } + public Property Conflict { get; set; } + public Property AggravateMonster { get; set; } + public Property MagicalBreathing { get; set; } + public Property AcidResistance { get; set; } + public Property SlowDigestion { get; set; } + public Property FreeAction { get; set; } + public Property Hunger { get; set; } + + public int Protection { get; set; } + public int LastPrayer { get; set; } + public bool GodAngry { get; set; } + } + + public class PropertiesSource : BindingSource { + public PropertiesSource() { + this.DataSource = SaveData.Instance.Properties; } } diff --git a/NethackHelper/TrackerManager.cs b/NethackHelper/TrackerManager.cs new file mode 100644 index 0000000..a9899ae --- /dev/null +++ b/NethackHelper/TrackerManager.cs @@ -0,0 +1,22 @@ +namespace NethackHelper { + using System; + + internal class TrackerManager { + private static TrackerManager? instance; + + public static TrackerManager Instance { + get { + instance ??= new(); + return instance; + } + } + + public ITrackingClient Tracker { get; set; } = new DummyTrackingClient(); + + public void RequestUpdate() { + OnRequestUpdate?.Invoke(); + } + + public event Action? OnRequestUpdate; + } +} diff --git a/NethackHelper/TrackingClient.cs b/NethackHelper/TrackingClient.cs new file mode 100644 index 0000000..b9e679d --- /dev/null +++ b/NethackHelper/TrackingClient.cs @@ -0,0 +1,17 @@ +namespace NethackHelper { + using System.Threading.Tasks; + + public interface ITrackingClient { + Task UpdateProperty(string property, string type, bool has); + Task UpdateProtection(int protection); + Task UpdatePrayer(int last_prayed); + Task UpdateAngry(bool is_angry); + } + + internal class DummyTrackingClient : ITrackingClient { + public Task UpdateProperty(string property, string type, bool has) => Task.CompletedTask; + public Task UpdateProtection(int protection) => Task.CompletedTask; + public Task UpdatePrayer(int last_prayed) => Task.CompletedTask; + public Task UpdateAngry(bool is_angry) => Task.CompletedTask; + } +} diff --git a/NethackHelper/TrackingHub.cs b/NethackHelper/TrackingHub.cs new file mode 100644 index 0000000..55ed0d9 --- /dev/null +++ b/NethackHelper/TrackingHub.cs @@ -0,0 +1,6 @@ +namespace NethackHelper { + using Microsoft.AspNetCore.SignalR; + + public class TrackingHub : Hub { } +} + diff --git a/NethackHelper/wwwroot/icons/acid_resistance.png b/NethackHelper/wwwroot/icons/acid_resistance.png new file mode 100644 index 0000000..3c3088d Binary files /dev/null and b/NethackHelper/wwwroot/icons/acid_resistance.png differ diff --git a/NethackHelper/wwwroot/icons/aggravate_monster.png b/NethackHelper/wwwroot/icons/aggravate_monster.png new file mode 100644 index 0000000..6f46bba Binary files /dev/null and b/NethackHelper/wwwroot/icons/aggravate_monster.png differ diff --git a/NethackHelper/wwwroot/icons/angry_god.png b/NethackHelper/wwwroot/icons/angry_god.png new file mode 100644 index 0000000..ed8d6b2 Binary files /dev/null and b/NethackHelper/wwwroot/icons/angry_god.png differ diff --git a/NethackHelper/wwwroot/icons/cold_resistance.png b/NethackHelper/wwwroot/icons/cold_resistance.png new file mode 100644 index 0000000..648b087 Binary files /dev/null and b/NethackHelper/wwwroot/icons/cold_resistance.png differ diff --git a/NethackHelper/wwwroot/icons/conflict.png b/NethackHelper/wwwroot/icons/conflict.png new file mode 100644 index 0000000..f85e669 Binary files /dev/null and b/NethackHelper/wwwroot/icons/conflict.png differ diff --git a/NethackHelper/wwwroot/icons/darken.sh b/NethackHelper/wwwroot/icons/darken.sh new file mode 100644 index 0000000..7c9e510 --- /dev/null +++ b/NethackHelper/wwwroot/icons/darken.sh @@ -0,0 +1,4 @@ +for var in "$@" +do + magick "$var" -grayscale rec709luma -level 0,150% "$(dirname "$var")/no_$(basename "$var")" +done diff --git a/NethackHelper/wwwroot/icons/disintegration_resistance.png b/NethackHelper/wwwroot/icons/disintegration_resistance.png new file mode 100644 index 0000000..d91cf06 Binary files /dev/null and b/NethackHelper/wwwroot/icons/disintegration_resistance.png differ diff --git a/NethackHelper/wwwroot/icons/fire_resistance.png b/NethackHelper/wwwroot/icons/fire_resistance.png new file mode 100644 index 0000000..7b14ffa Binary files /dev/null and b/NethackHelper/wwwroot/icons/fire_resistance.png differ diff --git a/NethackHelper/wwwroot/icons/food_appraisal.png b/NethackHelper/wwwroot/icons/food_appraisal.png new file mode 100644 index 0000000..4325f15 Binary files /dev/null and b/NethackHelper/wwwroot/icons/food_appraisal.png differ diff --git a/NethackHelper/wwwroot/icons/free_action.png b/NethackHelper/wwwroot/icons/free_action.png new file mode 100644 index 0000000..1beaada Binary files /dev/null and b/NethackHelper/wwwroot/icons/free_action.png differ diff --git a/NethackHelper/wwwroot/icons/hunger.png b/NethackHelper/wwwroot/icons/hunger.png new file mode 100644 index 0000000..ae5e3c6 Binary files /dev/null and b/NethackHelper/wwwroot/icons/hunger.png differ diff --git a/NethackHelper/wwwroot/icons/infravision.png b/NethackHelper/wwwroot/icons/infravision.png new file mode 100644 index 0000000..56f2edf Binary files /dev/null and b/NethackHelper/wwwroot/icons/infravision.png differ diff --git a/NethackHelper/wwwroot/icons/invisibility.png b/NethackHelper/wwwroot/icons/invisibility.png new file mode 100644 index 0000000..e9eb4c7 Binary files /dev/null and b/NethackHelper/wwwroot/icons/invisibility.png differ diff --git a/NethackHelper/wwwroot/icons/jumping.png b/NethackHelper/wwwroot/icons/jumping.png new file mode 100644 index 0000000..b727d45 Binary files /dev/null and b/NethackHelper/wwwroot/icons/jumping.png differ diff --git a/NethackHelper/wwwroot/icons/levitation.png b/NethackHelper/wwwroot/icons/levitation.png new file mode 100644 index 0000000..f1443af Binary files /dev/null and b/NethackHelper/wwwroot/icons/levitation.png differ diff --git a/NethackHelper/wwwroot/icons/magic_resistance.png b/NethackHelper/wwwroot/icons/magic_resistance.png new file mode 100644 index 0000000..80c14c9 Binary files /dev/null and b/NethackHelper/wwwroot/icons/magic_resistance.png differ diff --git a/NethackHelper/wwwroot/icons/magical_breathing.png b/NethackHelper/wwwroot/icons/magical_breathing.png new file mode 100644 index 0000000..8218967 Binary files /dev/null and b/NethackHelper/wwwroot/icons/magical_breathing.png differ diff --git a/NethackHelper/wwwroot/icons/no_acid_resistance.png b/NethackHelper/wwwroot/icons/no_acid_resistance.png new file mode 100644 index 0000000..da8e3c9 Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_acid_resistance.png differ diff --git a/NethackHelper/wwwroot/icons/no_aggravate_monster.png b/NethackHelper/wwwroot/icons/no_aggravate_monster.png new file mode 100644 index 0000000..a17f09e Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_aggravate_monster.png differ diff --git a/NethackHelper/wwwroot/icons/no_angry_god.png b/NethackHelper/wwwroot/icons/no_angry_god.png new file mode 100644 index 0000000..16413b7 Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_angry_god.png differ diff --git a/NethackHelper/wwwroot/icons/no_cold_resistance.png b/NethackHelper/wwwroot/icons/no_cold_resistance.png new file mode 100644 index 0000000..ed9dbea Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_cold_resistance.png differ diff --git a/NethackHelper/wwwroot/icons/no_conflict.png b/NethackHelper/wwwroot/icons/no_conflict.png new file mode 100644 index 0000000..d7734e0 Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_conflict.png differ diff --git a/NethackHelper/wwwroot/icons/no_disintegration_resistance.png b/NethackHelper/wwwroot/icons/no_disintegration_resistance.png new file mode 100644 index 0000000..c3b7ff7 Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_disintegration_resistance.png differ diff --git a/NethackHelper/wwwroot/icons/no_fire_resistance.png b/NethackHelper/wwwroot/icons/no_fire_resistance.png new file mode 100644 index 0000000..853d851 Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_fire_resistance.png differ diff --git a/NethackHelper/wwwroot/icons/no_food_appraisal.png b/NethackHelper/wwwroot/icons/no_food_appraisal.png new file mode 100644 index 0000000..76e949f Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_food_appraisal.png differ diff --git a/NethackHelper/wwwroot/icons/no_free_action.png b/NethackHelper/wwwroot/icons/no_free_action.png new file mode 100644 index 0000000..4ad7629 Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_free_action.png differ diff --git a/NethackHelper/wwwroot/icons/no_hunger.png b/NethackHelper/wwwroot/icons/no_hunger.png new file mode 100644 index 0000000..c1f20b0 Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_hunger.png differ diff --git a/NethackHelper/wwwroot/icons/no_infravision.png b/NethackHelper/wwwroot/icons/no_infravision.png new file mode 100644 index 0000000..30aaeb1 Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_infravision.png differ diff --git a/NethackHelper/wwwroot/icons/no_invisibility.png b/NethackHelper/wwwroot/icons/no_invisibility.png new file mode 100644 index 0000000..42d04e6 Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_invisibility.png differ diff --git a/NethackHelper/wwwroot/icons/no_jumping.png b/NethackHelper/wwwroot/icons/no_jumping.png new file mode 100644 index 0000000..3fe2e90 Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_jumping.png differ diff --git a/NethackHelper/wwwroot/icons/no_levitation.png b/NethackHelper/wwwroot/icons/no_levitation.png new file mode 100644 index 0000000..1b4649d Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_levitation.png differ diff --git a/NethackHelper/wwwroot/icons/no_magic_resistance.png b/NethackHelper/wwwroot/icons/no_magic_resistance.png new file mode 100644 index 0000000..87ef8c0 Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_magic_resistance.png differ diff --git a/NethackHelper/wwwroot/icons/no_magical_breathing.png b/NethackHelper/wwwroot/icons/no_magical_breathing.png new file mode 100644 index 0000000..ebc16e1 Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_magical_breathing.png differ diff --git a/NethackHelper/wwwroot/icons/no_poison_resistance.png b/NethackHelper/wwwroot/icons/no_poison_resistance.png new file mode 100644 index 0000000..ebcd4db Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_poison_resistance.png differ diff --git a/NethackHelper/wwwroot/icons/no_polymorph_control.png b/NethackHelper/wwwroot/icons/no_polymorph_control.png new file mode 100644 index 0000000..c221daf Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_polymorph_control.png differ diff --git a/NethackHelper/wwwroot/icons/no_polymorphitis.png b/NethackHelper/wwwroot/icons/no_polymorphitis.png new file mode 100644 index 0000000..28be909 Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_polymorphitis.png differ diff --git a/NethackHelper/wwwroot/icons/no_prayer_timeout.png b/NethackHelper/wwwroot/icons/no_prayer_timeout.png new file mode 100644 index 0000000..57894fb Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_prayer_timeout.png differ diff --git a/NethackHelper/wwwroot/icons/no_protection.png b/NethackHelper/wwwroot/icons/no_protection.png new file mode 100644 index 0000000..6745d8e Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_protection.png differ diff --git a/NethackHelper/wwwroot/icons/no_protection_from_shape_changers.png b/NethackHelper/wwwroot/icons/no_protection_from_shape_changers.png new file mode 100644 index 0000000..242917c Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_protection_from_shape_changers.png differ diff --git a/NethackHelper/wwwroot/icons/no_reflection.png b/NethackHelper/wwwroot/icons/no_reflection.png new file mode 100644 index 0000000..270b6ff Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_reflection.png differ diff --git a/NethackHelper/wwwroot/icons/no_regeneration.png b/NethackHelper/wwwroot/icons/no_regeneration.png new file mode 100644 index 0000000..4281cad Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_regeneration.png differ diff --git a/NethackHelper/wwwroot/icons/no_searching.png b/NethackHelper/wwwroot/icons/no_searching.png new file mode 100644 index 0000000..6261fd0 Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_searching.png differ diff --git a/NethackHelper/wwwroot/icons/no_see_invisible.png b/NethackHelper/wwwroot/icons/no_see_invisible.png new file mode 100644 index 0000000..a696abc Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_see_invisible.png differ diff --git a/NethackHelper/wwwroot/icons/no_shock_resistance.png b/NethackHelper/wwwroot/icons/no_shock_resistance.png new file mode 100644 index 0000000..4e95f39 Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_shock_resistance.png differ diff --git a/NethackHelper/wwwroot/icons/no_sleep_resistance.png b/NethackHelper/wwwroot/icons/no_sleep_resistance.png new file mode 100644 index 0000000..5fd7c7f Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_sleep_resistance.png differ diff --git a/NethackHelper/wwwroot/icons/no_slow_digestion.png b/NethackHelper/wwwroot/icons/no_slow_digestion.png new file mode 100644 index 0000000..098c85a Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_slow_digestion.png differ diff --git a/NethackHelper/wwwroot/icons/no_speed.png b/NethackHelper/wwwroot/icons/no_speed.png new file mode 100644 index 0000000..87fb25f Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_speed.png differ diff --git a/NethackHelper/wwwroot/icons/no_stealth.png b/NethackHelper/wwwroot/icons/no_stealth.png new file mode 100644 index 0000000..90617d0 Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_stealth.png differ diff --git a/NethackHelper/wwwroot/icons/no_telepathy.png b/NethackHelper/wwwroot/icons/no_telepathy.png new file mode 100644 index 0000000..e17d65f Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_telepathy.png differ diff --git a/NethackHelper/wwwroot/icons/no_teleport_control.png b/NethackHelper/wwwroot/icons/no_teleport_control.png new file mode 100644 index 0000000..aa13fb0 Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_teleport_control.png differ diff --git a/NethackHelper/wwwroot/icons/no_teleportitis.png b/NethackHelper/wwwroot/icons/no_teleportitis.png new file mode 100644 index 0000000..dd35f67 Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_teleportitis.png differ diff --git a/NethackHelper/wwwroot/icons/no_warning.png b/NethackHelper/wwwroot/icons/no_warning.png new file mode 100644 index 0000000..0dcfd19 Binary files /dev/null and b/NethackHelper/wwwroot/icons/no_warning.png differ diff --git a/NethackHelper/wwwroot/icons/poison_resistance.png b/NethackHelper/wwwroot/icons/poison_resistance.png new file mode 100644 index 0000000..acb6653 Binary files /dev/null and b/NethackHelper/wwwroot/icons/poison_resistance.png differ diff --git a/NethackHelper/wwwroot/icons/polymorph_control.png b/NethackHelper/wwwroot/icons/polymorph_control.png new file mode 100644 index 0000000..3a17566 Binary files /dev/null and b/NethackHelper/wwwroot/icons/polymorph_control.png differ diff --git a/NethackHelper/wwwroot/icons/polymorphitis.png b/NethackHelper/wwwroot/icons/polymorphitis.png new file mode 100644 index 0000000..5b7537d Binary files /dev/null and b/NethackHelper/wwwroot/icons/polymorphitis.png differ diff --git a/NethackHelper/wwwroot/icons/prayer_timeout.png b/NethackHelper/wwwroot/icons/prayer_timeout.png new file mode 100644 index 0000000..7e1f113 Binary files /dev/null and b/NethackHelper/wwwroot/icons/prayer_timeout.png differ diff --git a/NethackHelper/wwwroot/icons/protection.png b/NethackHelper/wwwroot/icons/protection.png new file mode 100644 index 0000000..eeec560 Binary files /dev/null and b/NethackHelper/wwwroot/icons/protection.png differ diff --git a/NethackHelper/wwwroot/icons/protection_from_shape_changers.png b/NethackHelper/wwwroot/icons/protection_from_shape_changers.png new file mode 100644 index 0000000..569411e Binary files /dev/null and b/NethackHelper/wwwroot/icons/protection_from_shape_changers.png differ diff --git a/NethackHelper/wwwroot/icons/reflection.png b/NethackHelper/wwwroot/icons/reflection.png new file mode 100644 index 0000000..ab77d58 Binary files /dev/null and b/NethackHelper/wwwroot/icons/reflection.png differ diff --git a/NethackHelper/wwwroot/icons/regeneration.png b/NethackHelper/wwwroot/icons/regeneration.png new file mode 100644 index 0000000..d0ae70c Binary files /dev/null and b/NethackHelper/wwwroot/icons/regeneration.png differ diff --git a/NethackHelper/wwwroot/icons/searching.png b/NethackHelper/wwwroot/icons/searching.png new file mode 100644 index 0000000..77833af Binary files /dev/null and b/NethackHelper/wwwroot/icons/searching.png differ diff --git a/NethackHelper/wwwroot/icons/see_invisible.png b/NethackHelper/wwwroot/icons/see_invisible.png new file mode 100644 index 0000000..5578d93 Binary files /dev/null and b/NethackHelper/wwwroot/icons/see_invisible.png differ diff --git a/NethackHelper/wwwroot/icons/shock_resistance.png b/NethackHelper/wwwroot/icons/shock_resistance.png new file mode 100644 index 0000000..a4a8f06 Binary files /dev/null and b/NethackHelper/wwwroot/icons/shock_resistance.png differ diff --git a/NethackHelper/wwwroot/icons/sleep_resistance.png b/NethackHelper/wwwroot/icons/sleep_resistance.png new file mode 100644 index 0000000..2d6fcdc Binary files /dev/null and b/NethackHelper/wwwroot/icons/sleep_resistance.png differ diff --git a/NethackHelper/wwwroot/icons/slow_digestion.png b/NethackHelper/wwwroot/icons/slow_digestion.png new file mode 100644 index 0000000..7a93084 Binary files /dev/null and b/NethackHelper/wwwroot/icons/slow_digestion.png differ diff --git a/NethackHelper/wwwroot/icons/speed.png b/NethackHelper/wwwroot/icons/speed.png new file mode 100644 index 0000000..4a237e4 Binary files /dev/null and b/NethackHelper/wwwroot/icons/speed.png differ diff --git a/NethackHelper/wwwroot/icons/stealth.png b/NethackHelper/wwwroot/icons/stealth.png new file mode 100644 index 0000000..3fa754f Binary files /dev/null and b/NethackHelper/wwwroot/icons/stealth.png differ diff --git a/NethackHelper/wwwroot/icons/telepathy.png b/NethackHelper/wwwroot/icons/telepathy.png new file mode 100644 index 0000000..f167781 Binary files /dev/null and b/NethackHelper/wwwroot/icons/telepathy.png differ diff --git a/NethackHelper/wwwroot/icons/teleport_control.png b/NethackHelper/wwwroot/icons/teleport_control.png new file mode 100644 index 0000000..cf304d7 Binary files /dev/null and b/NethackHelper/wwwroot/icons/teleport_control.png differ diff --git a/NethackHelper/wwwroot/icons/teleportitis.png b/NethackHelper/wwwroot/icons/teleportitis.png new file mode 100644 index 0000000..5d93b05 Binary files /dev/null and b/NethackHelper/wwwroot/icons/teleportitis.png differ diff --git a/NethackHelper/wwwroot/icons/warning.png b/NethackHelper/wwwroot/icons/warning.png new file mode 100644 index 0000000..7a867eb Binary files /dev/null and b/NethackHelper/wwwroot/icons/warning.png differ diff --git a/NethackHelper/wwwroot/tracker.css b/NethackHelper/wwwroot/tracker.css new file mode 100644 index 0000000..2cc19b6 --- /dev/null +++ b/NethackHelper/wwwroot/tracker.css @@ -0,0 +1,83 @@ +body { + --icon-size: 45px; + --gap-size: 4px; + --overlay-size: 30px; +} + +.mainTable { + margin: auto; +} + +.propertiesList { + margin: auto; + border-spacing: 0; + display: flex; + flex-direction: row; + width: fit-content; + flex-wrap: wrap; + max-width: calc(8 * var(--icon-size) + 16 * var(--gap-size)); + justify-content: center; +} + +.variablesList { + margin: auto; + display: flex; + width: fit-content; + padding-top: 25px; + padding-bottom: 15px; + gap: 20px; +} + +.cell { + position: relative; + padding: var(--gap-size); +} + +.hidden { + display: none !important; +} + +img { + -ms-interpolation-mode: nearest-neighbor; + image-rendering: crisp-edges; + image-rendering: pixelated; +} + +.cell-icon { + display: block; + width: var(--icon-size); + height: var(--icon-size); +} + +.overlay-icon { + display: block; + position: absolute; + left: 0; + bottom: 0; + width: var(--overlay-size); + height: var(--overlay-size); +} + +.pb-10 { + padding-bottom: 10px; +} + +.mb-5 { + margin-bottom: 5px; +} + +.inline { + display: inline; + vertical-align: middle; +} + +.value-text { + font-family: 'Comic Mono'; + font-size: 32px; + text-align: center; + color: white; + text-shadow: black 0 0 4px; + vertical-align: middle; + --webkit-font-smoothing: antialiased; + padding-top: 4px; +} diff --git a/NethackHelper/wwwroot/tracker.html b/NethackHelper/wwwroot/tracker.html new file mode 100644 index 0000000..fe5ddaa --- /dev/null +++ b/NethackHelper/wwwroot/tracker.html @@ -0,0 +1,331 @@ + + + + + Item Tracker + + + + + + + +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ + + + + + + + + + + + + + + +
+ +
+ +
+ + + 0 + +
+
+ + + 0 + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + diff --git a/NethackHelper/wwwroot/tracker.js b/NethackHelper/wwwroot/tracker.js new file mode 100644 index 0000000..1078071 --- /dev/null +++ b/NethackHelper/wwwroot/tracker.js @@ -0,0 +1,48 @@ +const connection = + new signalR.HubConnectionBuilder() + .withUrl("/webview") + .build(); + +async function start() { + try { + await connection.start(); + } catch (err) { + console.log(err); + setTimeout(start, 2000); + } +} + +start(); + +connection.onclose(async () => setTimeout(start, 2000)); + +connection.on("UpdateProperty", updateProperty); +connection.on("UpdatePrayer", updatePrayer); +connection.on("UpdateProtection", updateProtection); +connection.on("UpdateAngry", updateAngry); + +function updateProperty(property, type, has) { + if (has) { + $(`.${type}.has[data-property='${property}']`).removeClass("hidden"); + $(`.${type}.has-not[data-property='${property}']`).addClass("hidden"); + } else { + $(`.${type}.has-not[data-property='${property}']`).removeClass("hidden"); + $(`.${type}.has[data-property='${property}']`).addClass("hidden"); + } +} + +function updatePrayer(last_prayer) { + $(".prayer-timeout").text(last_prayer); +} + +function updateProtection(protection) { + $(".protection-value").text(protection); +} + +function updateAngry(is_angry) { + if (is_angry) { + $("[data-property='angry_god']").removeClass("hidden"); + } else { + $("[data-property='angry_god']").addClass("hidden"); + } +}