Example #1
0
        /// <summary>
        /// Refresh the information for the currently displayed Gear.
        /// </summary>
        public void RefreshSelectedGear()
        {
            bool blnClear = false;
            try
            {
                if (treGear.SelectedNode.Level == 0)
                    blnClear = true;
            }
            catch
            {
                blnClear = true;
            }
            if (blnClear)
            {
                _blnSkipRefresh = true;
                nudGearRating.Minimum = 0;
                nudGearRating.Maximum = 0;
                nudGearRating.Enabled = false;
                nudGearQty.Enabled = false;
                chkGearEquipped.Text = LanguageManager.Instance.GetString("Checkbox_Equipped");
                chkGearEquipped.Visible = false;
                chkActiveCommlink.Visible = false;
                _blnSkipRefresh = false;
                return;
            }
            chkGearHomeNode.Visible = false;

            if (treGear.SelectedNode.Level > 0)
            {
                Gear objGear = new Gear(_objCharacter);
                objGear = _objFunctions.FindGear(treGear.SelectedNode.Tag.ToString(), _objCharacter.Gear);

                lblGearName.Text = objGear.DisplayNameShort;
                lblGearCategory.Text = objGear.DisplayCategory;
                lblGearAvail.Text = objGear.TotalAvail(true);
                try
                {
                    lblGearCost.Text = String.Format("{0:###,###,##0¥}", objGear.TotalCost);
                }
                catch
                {
                    lblGearCost.Text = objGear.Cost;
                }
                lblGearCapacity.Text = objGear.CalculatedCapacity + " (" + objGear.CapacityRemaining.ToString() + " " + LanguageManager.Instance.GetString("String_Remaining") + ")";
                string strBook = _objOptions.LanguageBookShort(objGear.Source);
                string strPage = objGear.Page;
                lblGearSource.Text = strBook + " " + strPage;
                tipTooltip.SetToolTip(lblGearSource, _objOptions.LanguageBookLong(objGear.Source) + " " + LanguageManager.Instance.GetString("String_Page") + " " + objGear.Page);

                if (objGear.GetType() == typeof(Commlink))
                {
                    Commlink objCommlink = (Commlink)objGear;
					List<string> objASDF = new List<string>() { objCommlink.Attack.ToString(), objCommlink.Sleaze.ToString(), objCommlink.DataProcessing.ToString(), objCommlink.Firewall.ToString() };

					cboGearAttack.BindingContext = new BindingContext();
					cboGearAttack.ValueMember = "Value";
					cboGearAttack.DisplayMember = "Name";
					cboGearAttack.DataSource = objASDF;
					cboGearAttack.SelectedIndex = 0;
					cboGearAttack.Visible = true;
                    cboGearSleaze.BindingContext = new BindingContext();
					cboGearSleaze.ValueMember = "Value";
					cboGearSleaze.DisplayMember = "Name";
					cboGearSleaze.DataSource = objASDF;
					cboGearSleaze.SelectedIndex = 1;
					cboGearDataProcessing.BindingContext = new BindingContext();
					cboGearDataProcessing.ValueMember = "Value";
					cboGearDataProcessing.DisplayMember = "Name";
					cboGearDataProcessing.DataSource = objASDF;
					cboGearDataProcessing.SelectedIndex = 2;
					cboGearFirewall.BindingContext = new BindingContext();
					cboGearFirewall.ValueMember = "Value";
					cboGearFirewall.DisplayMember = "Name";
					cboGearFirewall.DataSource = objASDF;
					cboGearFirewall.SelectedIndex = 3;
					lblGearDeviceRating.Text = objCommlink.TotalDeviceRating.ToString();

					lblGearDeviceRating.Visible = true;
                    cboGearAttack.Visible = true;
                    cboGearSleaze.Visible = true;
                    cboGearDataProcessing.Visible = true;
                    cboGearFirewall.Visible = true;
                    lblGearDeviceRatingLabel.Visible = true;
                    lblGearAttackLabel.Visible = true;
                    lblGearSleazeLabel.Visible = true;
                    lblGearDataProcessingLabel.Visible = true;
                    lblGearFirewallLabel.Visible = true;

                    _blnSkipRefresh = true;
                    chkActiveCommlink.Checked = objCommlink.IsActive;
                    _blnSkipRefresh = false;

                    if (objCommlink.Category != "Commlink Upgrade")
                        chkActiveCommlink.Visible = true;
					
					if (_objCharacter.Metatype == "A.I.")
					{
						chkGearHomeNode.Visible = true;
						chkGearHomeNode.Checked = objCommlink.HomeNode;
					}
				}
                else
                {
                    lblGearDeviceRating.Text = objGear.DeviceRating.ToString();
                    chkActiveCommlink.Visible = false;
                    cboGearAttack.Visible = false;
                    cboGearSleaze.Visible = false;
                    cboGearDataProcessing.Visible = false;
                    cboGearFirewall.Visible = false;
                    lblGearAttackLabel.Visible = false;
                    lblGearSleazeLabel.Visible = false;
                    lblGearDataProcessingLabel.Visible = false;
                    lblGearFirewallLabel.Visible = false;
                }

                if (objGear.MaxRating > 0)
                {
                    _blnSkipRefresh = true;
                    if (objGear.MinRating > 0)
                        nudGearRating.Minimum = objGear.MinRating;
                    else if (objGear.MinRating == 0 && objGear.Name.Contains("Credstick,"))
                        nudGearRating.Minimum = 0;
                    else
                        nudGearRating.Minimum = 1;
                    nudGearRating.Maximum = objGear.MaxRating;
                    nudGearRating.Value = objGear.Rating;
                    if (nudGearRating.Minimum == nudGearRating.Maximum)
                        nudGearRating.Enabled = false;
                    else
                        nudGearRating.Enabled = true;
                    _blnSkipRefresh = false;
                }
                else
                {
                    _blnSkipRefresh = true;
                    nudGearRating.Minimum = 0;
                    nudGearRating.Maximum = 0;
                    nudGearRating.Enabled = false;
                    _blnSkipRefresh = false;
                }

                try
                {
                    _blnSkipRefresh = true;
                    chkGearBlackMarketDiscount.Checked = objGear.DiscountCost;
                    //nudGearQty.Minimum = objGear.CostFor;
                    nudGearQty.Increment = objGear.CostFor;
                    nudGearQty.Value = objGear.Quantity;
                    _blnSkipRefresh = false;
                }
                catch
                {
                }

                if (treGear.SelectedNode.Level == 1)
                {
                    _blnSkipRefresh = true;
                    nudGearQty.Enabled = true;
                    nudGearQty.Increment = objGear.CostFor;
                    //nudGearQty.Minimum = objGear.CostFor;
                    chkGearEquipped.Visible = true;
                    chkGearEquipped.Checked = objGear.Equipped;
                    _blnSkipRefresh = false;
                }
                else
                {
                    nudGearQty.Enabled = false;
                    _blnSkipRefresh = true;
                    chkGearEquipped.Visible = true;
                    chkGearEquipped.Checked = objGear.Equipped;

                    // If this is a Program, determine if its parent Gear (if any) is a Commlink. If so, show the Equipped checkbox.
                    if (objGear.IsProgram && _objOptions.CalculateCommlinkResponse)
                    {
                        Gear objParent = new Gear(_objCharacter);
                        objParent = objGear.Parent;
                        if (objParent.Category != string.Empty)
                        {
                            if (objParent.Category == "Commlinks" || objParent.Category == "Cyberdecks" || objParent.Category == "Nexus")
                                chkGearEquipped.Text = LanguageManager.Instance.GetString("Checkbox_SoftwareRunning");
                        }
                    }
                    _blnSkipRefresh = false;
                }

                // Show the Weapon Bonus information if it's available.
                if (objGear.WeaponBonus != null)
                {
                    lblGearDamageLabel.Visible = true;
                    lblGearDamage.Visible = true;
                    lblGearAPLabel.Visible = true;
                    lblGearAP.Visible = true;
                    lblGearDamage.Text = objGear.WeaponBonusDamage();
                    lblGearAP.Text = objGear.WeaponBonusAP;
                }
                else
                {
                    lblGearDamageLabel.Visible = false;
                    lblGearDamage.Visible = false;
                    lblGearAPLabel.Visible = false;
                    lblGearAP.Visible = false;
                }

                treGear.SelectedNode.Text = objGear.DisplayName;
            }
        }
Example #2
0
        /// <summary>
        /// Refresh the information for the currently displayed Gear.
        /// </summary>
        public void RefreshSelectedGear()
        {
            bool blnClear = false;
            try
            {
                if (treGear.SelectedNode.Level == 0)
                    blnClear = true;
            }
            catch
            {
                blnClear = true;
            }
            if (blnClear)
            {
                lblGearRating.Text = "";
                lblGearQty.Text = "";
                cmdGearIncreaseQty.Enabled = false;
                cmdGearReduceQty.Enabled = false;
                chkGearEquipped.Text = LanguageManager.Instance.GetString("Checkbox_Equipped");
                chkGearEquipped.Visible = false;
                chkActiveCommlink.Visible = false;
                cmdGearSplitQty.Enabled = false;
                cmdGearMergeQty.Enabled = false;
                cmdGearMoveToVehicle.Enabled = false;
                return;
            }
            cmdGearIncreaseQty.Enabled = false;
            chkGearHomeNode.Visible = false;

            if (treGear.SelectedNode.Level > 0)
            {
                Gear objGear = new Gear(_objCharacter);
                objGear = _objFunctions.FindGear(treGear.SelectedNode.Tag.ToString(), _objCharacter.Gear);

                lblGearName.Text = objGear.DisplayNameShort;
                lblGearCategory.Text = objGear.DisplayCategory;
                lblGearAvail.Text = objGear.TotalAvail(true);
                try
                {
                    lblGearCost.Text = String.Format("{0:###,###,##0¥}", objGear.TotalCost);
                }
                catch
                {
                    lblGearCost.Text = objGear.Cost;
                }
                lblGearCapacity.Text = objGear.CalculatedCapacity + " (" + objGear.CapacityRemaining.ToString() + " " + LanguageManager.Instance.GetString("String_Remaining") + ")";
                string strBook = _objOptions.LanguageBookShort(objGear.Source);
                string strPage = objGear.Page;
                lblGearSource.Text = strBook + " " + strPage;
                tipTooltip.SetToolTip(lblGearSource, _objOptions.LanguageBookLong(objGear.Source) + " " + LanguageManager.Instance.GetString("String_Page") + " " + objGear.Page);

                if (objGear.Category == "Ammunition")
                    cmdGearIncreaseQty.Enabled = true;

                if (objGear.GetType() == typeof(Commlink))
                {
                    Commlink objCommlink = (Commlink)objGear;
                    lblGearDeviceRating.Text = objCommlink.TotalDeviceRating.ToString();
                    lblGearAttack.Text = objCommlink.Attack.ToString();
                    lblGearSleaze.Text = objCommlink.Sleaze.ToString();
                    lblGearDataProcessing.Text = objCommlink.DataProcessing.ToString();
                    lblGearFirewall.Text = objCommlink.Firewall.ToString();
                    _blnSkipRefresh = true;
                    chkActiveCommlink.Checked = objCommlink.IsActive;
                    _blnSkipRefresh = false;

                    lblGearDeviceRating.Visible = true;
                    lblGearAttack.Visible = true;
                    lblGearSleaze.Visible = true;
                    lblGearDataProcessing.Visible = true;
                    lblGearFirewall.Visible = true;
                    lblGearDeviceRatingLabel.Visible = true;
                    lblGearAttackLabel.Visible = true;
                    lblGearSleazeLabel.Visible = true;
                    lblGearDataProcessingLabel.Visible = true;
                    lblGearFirewallLabel.Visible = true;

                    if (objCommlink.Category != "Commlink Upgrade")
                        chkActiveCommlink.Visible = true;
                }
                else
                {
                    lblGearDeviceRating.Text = objGear.DeviceRating.ToString();
                    chkActiveCommlink.Visible = false;
                    lblGearAttack.Visible = false;
                    lblGearSleaze.Visible = false;
                    lblGearDataProcessing.Visible = false;
                    lblGearFirewall.Visible = false;
                    lblGearAttackLabel.Visible = false;
                    lblGearSleazeLabel.Visible = false;
                    lblGearDataProcessingLabel.Visible = false;
                    lblGearFirewallLabel.Visible = false;
                }

                if (objGear.MaxRating > 0)
                    lblGearRating.Text = objGear.Rating.ToString();
                else
                    lblGearRating.Text = "";

                try
                {
                    lblGearQty.Text = objGear.Quantity.ToString();
                }
                catch
                {
                }

                if (treGear.SelectedNode.Level == 1)
                {
                    _blnSkipRefresh = true;
                    lblGearQty.Text = objGear.Quantity.ToString();
                    chkGearEquipped.Visible = true;
                    chkGearEquipped.Checked = objGear.Equipped;

                    _blnSkipRefresh = false;
                }
                else
                {
                    lblGearQty.Text = "1";
                    chkGearEquipped.Visible = true;
                    chkGearEquipped.Checked = objGear.Equipped;

                    // If this is a Program, determine if its parent Gear (if any) is a Commlink. If so, show the Equipped checkbox.
                    if (objGear.IsProgram && _objOptions.CalculateCommlinkResponse)
                    {
                        Gear objParent = new Gear(_objCharacter);
                        objParent = objGear.Parent;
                        if (objParent.Category != string.Empty)
                        {
                            if (objParent.Category == "Commlink" || objParent.Category == "Nexus")
                                chkGearEquipped.Text = LanguageManager.Instance.GetString("Checkbox_SoftwareRunning");
                        }
                    }
                }

                // Show the Weapon Bonus information if it's available.
                if (objGear.WeaponBonus != null)
                {
                    lblGearDamageLabel.Visible = true;
                    lblGearDamage.Visible = true;
                    lblGearAPLabel.Visible = true;
                    lblGearAP.Visible = true;
                    lblGearDamage.Text = objGear.WeaponBonusDamage();
                    lblGearAP.Text = objGear.WeaponBonusAP;
                }
                else
                {
                    lblGearDamageLabel.Visible = false;
                    lblGearDamage.Visible = false;
                    lblGearAPLabel.Visible = false;
                    lblGearAP.Visible = false;
                }

                cmdGearReduceQty.Enabled = true;

                if ((_objCharacter.Metatype.EndsWith("A.I.") || _objCharacter.MetatypeCategory == "Technocritters" || _objCharacter.MetatypeCategory == "Protosapients") && (objGear.GetType() == typeof(Commlink) || objGear.Category == "Nexus"))
                {
                    chkGearHomeNode.Visible = true;
                    chkGearHomeNode.Checked = objGear.HomeNode;
                }

                treGear.SelectedNode.Text = objGear.DisplayName;
            }

            // Enable or disable the Split/Merge buttons as needed.
            if (treGear.SelectedNode.Level == 1)
            {
                cmdGearSplitQty.Enabled = true;
                cmdGearMergeQty.Enabled = true;
                if (_objCharacter.Vehicles.Count > 0)
                    cmdGearMoveToVehicle.Enabled = true;
                else
                    cmdGearMoveToVehicle.Enabled = false;
            }
            else
            {
                cmdGearSplitQty.Enabled = false;
                cmdGearMergeQty.Enabled = false;
                cmdGearMoveToVehicle.Enabled = false;
            }
        }
Example #3
0
        private void chkActiveCommlink_CheckedChanged(object sender, EventArgs e)
        {
            if (_blnSkipRefresh)
                return;

            Gear objSelectedGear = new Gear(_objCharacter);

            // Attempt to locate the selected piece of Gear.
            try
            {
                objSelectedGear = _objFunctions.FindGear(treGear.SelectedNode.Tag.ToString(), _objCharacter.Gear);

                if (objSelectedGear.GetType() != typeof(Commlink))
                    return;

                Commlink objCommlink = (Commlink)objSelectedGear;
                objCommlink.IsActive = chkActiveCommlink.Checked;

                ChangeActiveCommlink(objCommlink);

                RefreshSelectedGear();
                UpdateCharacterInfo();

                _blnIsDirty = true;
                UpdateWindowTitle();
            }
            catch
            {
            }
        }
Example #4
0
        /// <summary>
        /// Refresh the information for the currently displayed Gear.
        /// </summary>
        public void RefreshSelectedGear()
        {
            bool blnClear = false;
            try
            {
                if (treGear.SelectedNode.Level == 0)
                    blnClear = true;
            }
            catch
            {
                blnClear = true;
            }
            if (blnClear)
            {
                _blnSkipRefresh = true;
                nudGearRating.Minimum = 0;
                nudGearRating.Maximum = 0;
                nudGearRating.Enabled = false;
                nudGearQty.Enabled = false;
                chkGearEquipped.Text = LanguageManager.Instance.GetString("Checkbox_Equipped");
                chkGearEquipped.Visible = false;
                chkActiveCommlink.Visible = false;
                _blnSkipRefresh = false;
                return;
            }
            chkGearHomeNode.Visible = false;

            if (treGear.SelectedNode.Level > 0)
            {
                Gear objGear = new Gear(_objCharacter);
                objGear = _objFunctions.FindGear(treGear.SelectedNode.Tag.ToString(), _objCharacter.Gear);

                lblGearName.Text = objGear.DisplayNameShort;
                lblGearCategory.Text = objGear.DisplayCategory;
                lblGearAvail.Text = objGear.TotalAvail(true);
                try
                {
                    lblGearCost.Text = String.Format("{0:###,###,##0¥}", objGear.TotalCost);
                }
                catch
                {
                    lblGearCost.Text = objGear.Cost;
                }
                lblGearCapacity.Text = objGear.CalculatedCapacity + " (" + objGear.CapacityRemaining.ToString() + " " + LanguageManager.Instance.GetString("String_Remaining") + ")";
                string strBook = _objOptions.LanguageBookShort(objGear.Source);
                string strPage = objGear.Page;
                lblGearSource.Text = strBook + " " + strPage;
                tipTooltip.SetToolTip(lblGearSource, _objOptions.LanguageBookLong(objGear.Source) + " " + LanguageManager.Instance.GetString("String_Page") + " " + objGear.Page);

                if (objGear.GetType() == typeof(Commlink))
                {
                    Commlink objCommlink = (Commlink)objGear;
                    lblGearResponse.Text = objCommlink.TotalResponse.ToString();
                    lblGearSignal.Text = objCommlink.TotalSignal.ToString();
                    if (objCommlink.Category != "Commlink Upgrade")
                    {
                        lblGearSystem.Text = objCommlink.TotalSystem.ToString();
                        lblGearFirewall.Text = objCommlink.TotalFirewall.ToString();
                    }
                    else
                    {
                        lblGearSystem.Text = "";
                        lblGearFirewall.Text = "";
                    }

                    _blnSkipRefresh = true;
                    chkActiveCommlink.Checked = objCommlink.IsActive;
                    _blnSkipRefresh = false;

                    if (objCommlink.Category != "Commlink Upgrade")
                        chkActiveCommlink.Visible = true;
                }
                else if (objGear.GetType() == typeof(OperatingSystem))
                {
                    OperatingSystem objOS = (OperatingSystem)objGear;
                    lblGearResponse.Text = "";
                    lblGearSignal.Text = "";
                    lblGearSystem.Text = objOS.System.ToString();
                    lblGearFirewall.Text = objOS.Firewall.ToString();
                    chkActiveCommlink.Visible = false;
                }
                else
                {
                    lblGearResponse.Text = objGear.Response.ToString();
                    lblGearSignal.Text = objGear.Signal.ToString();
                    lblGearSystem.Text = objGear.System.ToString();
                    lblGearFirewall.Text = objGear.Firewall.ToString();
                    chkActiveCommlink.Visible = false;
                }

                if (objGear.MaxRating > 0)
                {
                    _blnSkipRefresh = true;
                    if (objGear.MinRating > 0)
                        nudGearRating.Minimum = objGear.MinRating;
                    else if (objGear.MinRating == 0 && objGear.Name.Contains("Credstick,"))
                        nudGearRating.Minimum = 0;
                    else
                        nudGearRating.Minimum = 1;
                    nudGearRating.Maximum = objGear.MaxRating;
                    nudGearRating.Value = objGear.Rating;
                    if (nudGearRating.Minimum == nudGearRating.Maximum)
                        nudGearRating.Enabled = false;
                    else
                        nudGearRating.Enabled = true;
                    _blnSkipRefresh = false;
                }
                else
                {
                    _blnSkipRefresh = true;
                    nudGearRating.Minimum = 0;
                    nudGearRating.Maximum = 0;
                    nudGearRating.Enabled = false;
                    _blnSkipRefresh = false;
                }

                try
                {
                    _blnSkipRefresh = true;
                    chkGearBlackMarketDiscount.Checked = objGear.DiscountCost;
                    //nudGearQty.Minimum = objGear.CostFor;
                    nudGearQty.Increment = objGear.CostFor;
                    nudGearQty.Value = objGear.Quantity;
                    _blnSkipRefresh = false;
                }
                catch
                {
                }

                if (treGear.SelectedNode.Level == 1)
                {
                    _blnSkipRefresh = true;
                    nudGearQty.Enabled = true;
                    nudGearQty.Increment = objGear.CostFor;
                    //nudGearQty.Minimum = objGear.CostFor;
                    chkGearEquipped.Visible = true;
                    chkGearEquipped.Checked = objGear.Equipped;
                    _blnSkipRefresh = false;
                }
                else
                {
                    nudGearQty.Enabled = false;
                    _blnSkipRefresh = true;
                    chkGearEquipped.Visible = true;
                    chkGearEquipped.Checked = objGear.Equipped;

                    // If this is a Program, determine if its parent Gear (if any) is a Commlink. If so, show the Equipped checkbox.
                    if (objGear.IsProgram && _objOptions.CalculateCommlinkResponse)
                    {
                        Gear objParent = new Gear(_objCharacter);
                        objParent = objGear.Parent;
                        if (objParent.Category != string.Empty)
                        {
                            if (objParent.Category == "Commlink" || objParent.Category == "Nexus")
                                chkGearEquipped.Text = LanguageManager.Instance.GetString("Checkbox_SoftwareRunning");
                        }
                    }
                    _blnSkipRefresh = false;
                }

                // Show the Weapon Bonus information if it's available.
                if (objGear.WeaponBonus != null)
                {
                    lblGearDamageLabel.Visible = true;
                    lblGearDamage.Visible = true;
                    lblGearAPLabel.Visible = true;
                    lblGearAP.Visible = true;
                    lblGearDamage.Text = objGear.WeaponBonusDamage();
                    lblGearAP.Text = objGear.WeaponBonusAP;
                }
                else
                {
                    lblGearDamageLabel.Visible = false;
                    lblGearDamage.Visible = false;
                    lblGearAPLabel.Visible = false;
                    lblGearAP.Visible = false;
                }

                if ((_objCharacter.Metatype.EndsWith("A.I.") || _objCharacter.MetatypeCategory == "Technocritters" || _objCharacter.MetatypeCategory == "Protosapients") && objGear.GetType() == typeof(Commlink))
                {
                    chkGearHomeNode.Visible = true;
                    chkGearHomeNode.Checked = objGear.HomeNode;
                }

                treGear.SelectedNode.Text = objGear.DisplayName;
            }
        }
Example #5
0
		private void chkGearCM_CheckedChanged(object sender, EventArgs e)
		{
			if (_blnSkipRefresh)
				return;

			// Locate the selected Gear.
			TreeNode objGearNode = new TreeNode();
			objGearNode = treGear.SelectedNode;
			if (treGear.SelectedNode.Level > 1)
			{
				while (objGearNode.Level > 1)
					objGearNode = objGearNode.Parent;
			}

			Gear objGear = new Gear(_objCharacter);
			foreach (Gear objCharacterGear in _objCharacter.Gear)
			{
				if (objCharacterGear.InternalId == objGearNode.Tag.ToString())
				{
					objGear = objCharacterGear;
					break;
				}
			}

			int intFillCount = 0;
			CheckBox objCheck = (CheckBox)sender;
			{
				if (objCheck.Checked)
				{
					// If this is being checked, make sure everything before it is checked off.
					_blnSkipRefresh = true;
					foreach (CheckBox objGearCM in tabMatrixCM.Controls.OfType<CheckBox>())
					{
						if (Convert.ToInt32(objGearCM.Tag.ToString()) < Convert.ToInt32(objCheck.Tag.ToString()))
							objGearCM.Checked = true;

						if (objGearCM.Checked)
							intFillCount += 1;
					}
					_blnSkipRefresh = false;
				}
				else
				{
					// If this is being unchecked, make sure everything after it is unchecked.
					_blnSkipRefresh = true;
					foreach (CheckBox objGearCM in tabMatrixCM.Controls.OfType<CheckBox>())
					{
						if (Convert.ToInt32(objGearCM.Tag.ToString()) > Convert.ToInt32(objCheck.Tag.ToString()))
							objGearCM.Checked = false;

						if (objGearCM.Checked)
							intFillCount += 1;
					}
					_blnSkipRefresh = false;
				}
				if (objGear.GetType() == typeof(Commlink))
				{
					Commlink objCommlink = (Commlink)objGear;
					objCommlink.MatrixCMFilled = intFillCount;
				}
				else
				{
					objGear.MatrixCMFilled = intFillCount;
				}

				UpdateCharacterInfo();

				_blnIsDirty = true;
				UpdateWindowTitle();
			}
		}
Example #6
0
		/// <summary>
		/// Refresh the information for the currently displayed Gear.
		/// </summary>
		public void RefreshSelectedGear()
		{
			bool blnClear = false;
			try
			{
				if (treGear.SelectedNode.Level == 0)
					blnClear = true;
			}
			catch
			{
				blnClear = true;
			}
			if (blnClear)
			{
				lblGearRating.Text = "";
				lblGearQty.Text = "";
				cmdGearIncreaseQty.Enabled = false;
				cmdGearReduceQty.Enabled = false;
				chkGearEquipped.Text = LanguageManager.Instance.GetString("Checkbox_Equipped");
				chkGearEquipped.Visible = false;
				chkActiveCommlink.Visible = false;
				cmdGearSplitQty.Enabled = false;
				cmdGearMergeQty.Enabled = false;
				cmdGearMoveToVehicle.Enabled = false;
				tabGearMatrixCM.Visible = false;
				return;
			}
			cmdGearIncreaseQty.Enabled = false;
			chkGearHomeNode.Visible = false;

			if (treGear.SelectedNode.Level > 0)
			{
				Gear objGear = new Gear(_objCharacter);
				objGear = _objFunctions.FindGear(treGear.SelectedNode.Tag.ToString(), _objCharacter.Gear);

				lblGearName.Text = objGear.DisplayNameShort;
				lblGearCategory.Text = objGear.DisplayCategory;
				lblGearAvail.Text = objGear.TotalAvail(true);
				try
				{
					lblGearCost.Text = String.Format("{0:###,###,##0¥}", objGear.TotalCost);
				}
				catch
				{
					lblGearCost.Text = objGear.Cost;
				}
				lblGearCapacity.Text = objGear.CalculatedCapacity + " (" + objGear.CapacityRemaining.ToString() + " " + LanguageManager.Instance.GetString("String_Remaining") + ")";
				string strBook = _objOptions.LanguageBookShort(objGear.Source);
				string strPage = objGear.Page;
				lblGearSource.Text = strBook + " " + strPage;
				tipTooltip.SetToolTip(lblGearSource, _objOptions.LanguageBookLong(objGear.Source) + " " + LanguageManager.Instance.GetString("String_Page") + " " + objGear.Page);

				_blnSkipRefresh = true;
				if (objGear.DeviceRating > 0)
				{
					tabGearMatrixCM.Visible = true;
					foreach (CheckBox objMatrixCM in tabMatrixCM.Controls.OfType<CheckBox>())
					{
						if (Convert.ToInt32(objMatrixCM.Tag.ToString()) <= objGear.MatrixCM)
						{
							if (Convert.ToInt32(objMatrixCM.Tag.ToString()) <= objGear.MatrixCMFilled)
								objMatrixCM.Checked = true;
							else
								objMatrixCM.Checked = false;

							objMatrixCM.Visible = true;
						}
						else
						{
							objMatrixCM.Checked = false;
							objMatrixCM.Visible = false;
							objMatrixCM.Text = "";
						}
					}
				}
				else
				{
					tabGearMatrixCM.Visible = false;
				}
				_blnSkipRefresh = false;
				if (objGear.Category == "Ammunition")
					cmdGearIncreaseQty.Enabled = true;

				if (objGear.GetType() == typeof(Commlink))
				{
					Commlink objCommlink = (Commlink)objGear;
                    lblGearDeviceRating.Text = objCommlink.TotalDeviceRating.ToString();
                    _blnSkipRefresh = true;
					chkActiveCommlink.Checked = objCommlink.IsActive;
					_blnSkipRefresh = false;


					cboGearOverclocker.Visible = _objCharacter.Overclocker;
					lblGearOverclocker.Visible = _objCharacter.Overclocker;
					ArrayList lstOverclocker = new ArrayList();
					ListItem objAttribute = new ListItem();
					objAttribute.Value = "None";
					objAttribute.Name = LanguageManager.Instance.GetString("String_None");
					lstOverclocker.Add(objAttribute);
					if (_objCharacter.Overclocker)
					{
						objAttribute = new ListItem();
						objAttribute.Value = "Attack";
						objAttribute.Name = LanguageManager.Instance.GetString("String_Attack");
						lstOverclocker.Add(objAttribute);
						objAttribute = new ListItem();
						objAttribute.Value = "Sleaze";
						objAttribute.Name = LanguageManager.Instance.GetString("String_Sleaze");
						lstOverclocker.Add(objAttribute);
						objAttribute = new ListItem();
						objAttribute.Value = "DataProc";
						objAttribute.Name = LanguageManager.Instance.GetString("String_DataProcessing");
						lstOverclocker.Add(objAttribute);
						objAttribute = new ListItem();
						objAttribute.Value = "Firewall";
						objAttribute.Name = LanguageManager.Instance.GetString("String_Firewall");
					}
					lstOverclocker.Add(objAttribute);
					cboGearOverclocker.BindingContext = new BindingContext();
					cboGearOverclocker.DisplayMember = "Name";
					cboGearOverclocker.ValueMember = "Value";
					cboGearOverclocker.DataSource = lstOverclocker;
					cboGearOverclocker.SelectedIndex = 0;

					List<string> lstASDF = new List<string>() { objCommlink.Attack.ToString(), objCommlink.Sleaze.ToString(), objCommlink.DataProcessing.ToString(), objCommlink.Firewall.ToString() };
					cboGearAttack.BindingContext = new BindingContext();
					cboGearAttack.ValueMember = "Value";
					cboGearAttack.DisplayMember = "Name";
					cboGearAttack.DataSource = lstASDF;
					cboGearAttack.SelectedIndex = 0;
					cboGearAttack.Visible = true;
					cboGearSleaze.BindingContext = new BindingContext();
					cboGearSleaze.ValueMember = "Value";
					cboGearSleaze.DisplayMember = "Name";
					cboGearSleaze.DataSource = lstASDF;
					cboGearSleaze.SelectedIndex = 1;
					cboGearDataProcessing.BindingContext = new BindingContext();
					cboGearDataProcessing.ValueMember = "Value";
					cboGearDataProcessing.DisplayMember = "Name";
					cboGearDataProcessing.DataSource = lstASDF;
					cboGearDataProcessing.SelectedIndex = 2;
					cboGearFirewall.BindingContext = new BindingContext();
					cboGearFirewall.ValueMember = "Value";
					cboGearFirewall.DisplayMember = "Name";
					cboGearFirewall.DataSource = lstASDF;
					cboGearFirewall.SelectedIndex = 3;
					lblGearDeviceRating.Text = objCommlink.TotalDeviceRating.ToString();
					cboCyberwareGearOverclocker.Visible = _objCharacter.Overclocker;
					lblCyberwareGearOverclocker.Visible = _objCharacter.Overclocker;
					cboGearAttack.Visible = true;
					cboGearSleaze.Visible = true;
					cboGearDataProcessing.Visible = true;
					cboGearFirewall.Visible = true;
					lblGearDeviceRating.Visible = true;
                    lblGearDeviceRatingLabel.Visible = true;
                    lblGearAttackLabel.Visible = true;
                    lblGearSleazeLabel.Visible = true;
                    lblGearDataProcessingLabel.Visible = true;
                    lblGearFirewallLabel.Visible = true;
					if (objCommlink.Category != "Commlink Upgrade")
						chkActiveCommlink.Visible = true;
					if (_objCharacter.Metatype == "A.I.")
					{
						chkGearHomeNode.Visible = true;
						chkGearHomeNode.Checked = objCommlink.HomeNode;
					}
				}
				else
				{
					cboCyberwareGearOverclocker.Visible = _objCharacter.Overclocker;
					lblCyberwareGearOverclocker.Visible = _objCharacter.Overclocker;
					lblGearDeviceRating.Text = objGear.DeviceRating.ToString();
                    chkActiveCommlink.Visible = false;
					cboGearAttack.Visible = false;
					cboGearSleaze.Visible = false;
					cboGearDataProcessing.Visible = false;
					cboGearFirewall.Visible = false;
					lblGearAttackLabel.Visible = false;
                    lblGearSleazeLabel.Visible = false;
                    lblGearDataProcessingLabel.Visible = false;
                    lblGearFirewallLabel.Visible = false;
                }

				if (objGear.MaxRating > 0)
					lblGearRating.Text = objGear.Rating.ToString();
				else
					lblGearRating.Text = "";

				try
				{
					lblGearQty.Text = objGear.Quantity.ToString();
				}
				catch
				{
				}

				if (treGear.SelectedNode.Level == 1)
				{
					_blnSkipRefresh = true;
					lblGearQty.Text = objGear.Quantity.ToString();
					chkGearEquipped.Visible = true;
					chkGearEquipped.Checked = objGear.Equipped;

					_blnSkipRefresh = false;
				}
				else
				{
					lblGearQty.Text = "1";
					chkGearEquipped.Visible = true;
					chkGearEquipped.Checked = objGear.Equipped;

					// If this is a Program, determine if its parent Gear (if any) is a Commlink. If so, show the Equipped checkbox.
					if (objGear.IsProgram && _objOptions.CalculateCommlinkResponse)
					{
						Gear objParent = new Gear(_objCharacter);
						objParent = objGear.Parent;
						if (objParent.Category != string.Empty)
						{
							if (objParent.Category == "Commlink" || objParent.Category == "Nexus")
								chkGearEquipped.Text = LanguageManager.Instance.GetString("Checkbox_SoftwareRunning");
						}
					}
				}

				// Show the Weapon Bonus information if it's available.
				if (objGear.WeaponBonus != null)
				{
					lblGearDamageLabel.Visible = true;
					lblGearDamage.Visible = true;
					lblGearAPLabel.Visible = true;
					lblGearAP.Visible = true;
					lblGearDamage.Text = objGear.WeaponBonusDamage();
					lblGearAP.Text = objGear.WeaponBonusAP;
				}
				else
				{
					lblGearDamageLabel.Visible = false;
					lblGearDamage.Visible = false;
					lblGearAPLabel.Visible = false;
					lblGearAP.Visible = false;
				}

				cmdGearReduceQty.Enabled = true;

				treGear.SelectedNode.Text = objGear.DisplayName;
			}

			// Enable or disable the Split/Merge buttons as needed.
			if (treGear.SelectedNode.Level == 1)
			{
				cmdGearSplitQty.Enabled = true;
				cmdGearMergeQty.Enabled = true;
				if (_objCharacter.Vehicles.Count > 0)
					cmdGearMoveToVehicle.Enabled = true;
				else
					cmdGearMoveToVehicle.Enabled = false;
			}
			else
			{
				cmdGearSplitQty.Enabled = false;
				cmdGearMergeQty.Enabled = false;
				cmdGearMoveToVehicle.Enabled = false;
			}
		}
Example #7
0
        /// <summary>
        /// Update the Gear's information based on the Gear selected and current Rating.
        /// </summary>
        private void UpdateGearInfo()
        {
            if (lstGear.Text != "")
            {
                // Retireve the information for the selected piece of Cyberware.
                XmlNode objXmlGear;
                int intItemCost = 0;

                string strCategory = "";
                objXmlGear = _objXmlDocument.SelectSingleNode("/chummer/gears/gear[id = \"" + lstGear.SelectedValue + "\"]");
                strCategory = cboCategory.SelectedValue.ToString();

                TreeNode objTreeNode = new TreeNode();
                List<Weapon> lstWeapons = new List<Weapon>();
                List<TreeNode> lstTreeNodes = new List<TreeNode>();
                Gear objGear = new Gear(_objCharacter);
                Commlink objCommlink = new Commlink(_objCharacter);
                OperatingSystem objOperatingSystem = new OperatingSystem(_objCharacter);
                if (objXmlGear["category"].InnerText == "Commlink" || objXmlGear["category"].InnerText == "Commlink Upgrade")
                {
                    objCommlink.Create(objXmlGear, _objCharacter, objTreeNode, Convert.ToInt32(nudRating.Value), false, true);
                    objGear = (Gear)objCommlink;
                }
                else if (objXmlGear["category"].InnerText == "Operating System" || objXmlGear["category"].InnerText == "Operating System Upgrade")
                {
                    objOperatingSystem.Create(objXmlGear, _objCharacter, objTreeNode, Convert.ToInt32(nudRating.Value), false, true);
                    objGear = (Gear)objCommlink;
                }
                else
                    objGear.Create(objXmlGear, _objCharacter, objTreeNode, Convert.ToInt32(nudRating.Value), lstWeapons, lstTreeNodes, "", chkHacked.Checked, false, false, true, chkAerodynamic.Checked);

                if (_objCharacter.Metatype == "A.I." || _objCharacter.MetatypeCategory == "Technocritters" || _objCharacter.MetatypeCategory == "Protosapients")
                {
                    if ((strCategory == "Matrix Programs" || strCategory == "Skillsofts" || strCategory == "Autosofts" || strCategory == "Autosofts, Agent" || strCategory == "Autosofts, Drone") && _objCharacter.Options.BookEnabled("UN") && !lstGear.SelectedValue.ToString().StartsWith("Suite:"))
                        chkInherentProgram.Visible = true;
                    else
                        chkInherentProgram.Visible = false;

                    chkInherentProgram.Enabled = !chkHacked.Checked;
                    if (!chkInherentProgram.Enabled)
                        chkInherentProgram.Checked = false;
                }
                else
                    chkInherentProgram.Visible = false;

                if (objGear.GetType() == typeof(Commlink))
                {
                    lblGearResponse.Text = objCommlink.TotalResponse.ToString();
                    lblGearSignal.Text = objCommlink.TotalSignal.ToString();
                    lblGearSystem.Text = "";
                    lblGearFirewall.Text = "";
                }
                else if (objGear.GetType() == typeof(OperatingSystem))
                {
                    lblGearResponse.Text = "";
                    lblGearSignal.Text = "";
                    lblGearSystem.Text = objOperatingSystem.System.ToString();
                    lblGearFirewall.Text = objOperatingSystem.Firewall.ToString();
                }
                else
                {
                    lblGearResponse.Text = "";
                    lblGearSignal.Text = "";
                    lblGearSystem.Text = "";
                    lblGearFirewall.Text = "";
                }

                if (objXmlGear["category"].InnerText.EndsWith("Software") || objXmlGear["category"].InnerText.EndsWith("Programs") || objXmlGear["category"].InnerText == "Program Options" || objXmlGear["category"].InnerText.StartsWith("Autosofts") || objXmlGear["category"].InnerText.StartsWith("Skillsoft") || objXmlGear["category"].InnerText == "Program Packages" || objXmlGear["category"].InnerText == "Software Suites")
                    chkHacked.Visible = true;
                else
                    chkHacked.Visible = false;

                string strBook = _objCharacter.Options.LanguageBookShort(objGear.Source);
                string strPage = objGear.Page;
                lblSource.Text = strBook + " " + strPage;

                // Avail.
                lblAvail.Text = objGear.TotalAvail();

                double dblMultiplier = Convert.ToDouble(nudGearQty.Value / nudGearQty.Increment, GlobalOptions.Instance.CultureInfo);
                if (chkDoItYourself.Checked)
                    dblMultiplier *= 0.5;

                // Cost.
                if (objGear.Cost.StartsWith("Variable"))
                {
                    int intMin = 0;
                    int intMax = 0;
                    string strCost = objGear.Cost.Replace("Variable(", string.Empty).Replace(")", string.Empty);
                    if (strCost.Contains("-"))
                    {
                        string[] strValues = strCost.Split('-');
                        intMin = Convert.ToInt32(strValues[0]);
                        intMax = Convert.ToInt32(strValues[1]);
                    }
                    else
                        intMin = Convert.ToInt32(strCost.Replace("+", string.Empty));

                    if (intMax == 0)
                    {
                        intMax = 1000000;
                        lblCost.Text = String.Format("{0:###,###,##0¥+}", intMin);
                    }
                    else
                        lblCost.Text = String.Format("{0:###,###,##0}", intMin) + "-" + String.Format("{0:###,###,##0¥}", intMax);

                    intItemCost = intMin;
                }
                else
                {
                    double dblCost = Convert.ToDouble(objGear.TotalCost, GlobalOptions.Instance.CultureInfo);
                    dblCost *= dblMultiplier;
                    dblCost *= 1 + (Convert.ToDouble(nudMarkup.Value, GlobalOptions.Instance.CultureInfo) / 100.0);

                    if (chkHacked.Checked)
                        dblCost *= 0.1;

                    intItemCost = Convert.ToInt32(dblCost);

                    lblCost.Text = String.Format("{0:###,###,##0¥}", intItemCost);
                }

                if (chkFreeItem.Checked)
                {
                    lblCost.Text = String.Format("{0:###,###,##0¥}", 0);
                    intItemCost = 0;
                }

                // Update the Avail Test Label.
                lblTest.Text = _objCharacter.AvailTest(intItemCost * _intCostMultiplier, lblAvail.Text);

                // Capacity.
                lblCapacity.Text = objGear.CalculatedCapacity;

                // Rating.
                if (Convert.ToInt32(objXmlGear["rating"].InnerText) > 0)
                {
                    nudRating.Maximum = Convert.ToInt32(objXmlGear["rating"].InnerText);
                    try
                    {
                        nudRating.Minimum = Convert.ToInt32(objXmlGear["minrating"].InnerText);
                    }
                    catch
                    {
                        nudRating.Minimum = 1;
                    }

                    if (nudRating.Minimum == nudRating.Maximum)
                        nudRating.Enabled = false;
                    else
                        nudRating.Enabled = true;
                }
                else
                {
                    nudRating.Minimum = 0;
                    nudRating.Maximum = 0;
                    nudRating.Enabled = false;
                }

                tipTooltip.SetToolTip(lblSource, _objCharacter.Options.LanguageBookLong(objGear.Source) + " " + LanguageManager.Instance.GetString("String_Page") + " " + strPage);
            }
        }
Example #8
0
        /// <summary>
        /// Update the Gear's information based on the Gear selected and current Rating.
        /// </summary>
        private void UpdateGearInfo()
        {
            if (lstGear.Text != "")
            {
                // Retireve the information for the selected piece of Cyberware.
                XmlNode objXmlGear;
                int     intItemCost = 0;

                string strCategory = "";
                objXmlGear  = _objXmlDocument.SelectSingleNode("/chummer/gears/gear[id = \"" + lstGear.SelectedValue + "\"]");
                strCategory = cboCategory.SelectedValue.ToString();

                TreeNode        objTreeNode        = new TreeNode();
                List <Weapon>   lstWeapons         = new List <Weapon>();
                List <TreeNode> lstTreeNodes       = new List <TreeNode>();
                Gear            objGear            = new Gear(_objCharacter);
                Commlink        objCommlink        = new Commlink(_objCharacter);
                OperatingSystem objOperatingSystem = new OperatingSystem(_objCharacter);
                if (objXmlGear["category"].InnerText == "Commlink" || objXmlGear["category"].InnerText == "Commlink Upgrade")
                {
                    objCommlink.Create(objXmlGear, _objCharacter, objTreeNode, Convert.ToInt32(nudRating.Value), false, true);
                    objGear = (Gear)objCommlink;
                }
                else if (objXmlGear["category"].InnerText == "Operating System" || objXmlGear["category"].InnerText == "Operating System Upgrade")
                {
                    objOperatingSystem.Create(objXmlGear, _objCharacter, objTreeNode, Convert.ToInt32(nudRating.Value), false, true);
                    objGear = (Gear)objCommlink;
                }
                else
                {
                    objGear.Create(objXmlGear, _objCharacter, objTreeNode, Convert.ToInt32(nudRating.Value), lstWeapons, lstTreeNodes, "", chkHacked.Checked, false, false, true, chkAerodynamic.Checked);
                }

                if (_objCharacter.Metatype == "A.I." || _objCharacter.MetatypeCategory == "Technocritters" || _objCharacter.MetatypeCategory == "Protosapients")
                {
                    if ((strCategory == "Matrix Programs" || strCategory == "Skillsofts" || strCategory == "Autosofts" || strCategory == "Autosofts, Agent" || strCategory == "Autosofts, Drone") && _objCharacter.Options.BookEnabled("UN") && !lstGear.SelectedValue.ToString().StartsWith("Suite:"))
                    {
                        chkInherentProgram.Visible = true;
                    }
                    else
                    {
                        chkInherentProgram.Visible = false;
                    }

                    chkInherentProgram.Enabled = !chkHacked.Checked;
                    if (!chkInherentProgram.Enabled)
                    {
                        chkInherentProgram.Checked = false;
                    }
                }
                else
                {
                    chkInherentProgram.Visible = false;
                }

                if (objGear.GetType() == typeof(Commlink))
                {
                    lblGearResponse.Text = objCommlink.TotalResponse.ToString();
                    lblGearSignal.Text   = objCommlink.TotalSignal.ToString();
                    lblGearSystem.Text   = "";
                    lblGearFirewall.Text = "";
                }
                else if (objGear.GetType() == typeof(OperatingSystem))
                {
                    lblGearResponse.Text = "";
                    lblGearSignal.Text   = "";
                    lblGearSystem.Text   = objOperatingSystem.System.ToString();
                    lblGearFirewall.Text = objOperatingSystem.Firewall.ToString();
                }
                else
                {
                    lblGearResponse.Text = "";
                    lblGearSignal.Text   = "";
                    lblGearSystem.Text   = "";
                    lblGearFirewall.Text = "";
                }

                if (objXmlGear["category"].InnerText.EndsWith("Software") || objXmlGear["category"].InnerText.EndsWith("Programs") || objXmlGear["category"].InnerText == "Program Options" || objXmlGear["category"].InnerText.StartsWith("Autosofts") || objXmlGear["category"].InnerText.StartsWith("Skillsoft") || objXmlGear["category"].InnerText == "Program Packages" || objXmlGear["category"].InnerText == "Software Suites")
                {
                    chkHacked.Visible = true;
                }
                else
                {
                    chkHacked.Visible = false;
                }

                string strBook = _objCharacter.Options.LanguageBookShort(objGear.Source);
                string strPage = objGear.Page;
                lblSource.Text = strBook + " " + strPage;

                // Avail.
                lblAvail.Text = objGear.TotalAvail();

                double dblMultiplier = Convert.ToDouble(nudGearQty.Value / nudGearQty.Increment, GlobalOptions.Instance.CultureInfo);
                if (chkDoItYourself.Checked)
                {
                    dblMultiplier *= 0.5;
                }

                // Cost.
                if (objGear.Cost.StartsWith("Variable"))
                {
                    int    intMin  = 0;
                    int    intMax  = 0;
                    string strCost = objGear.Cost.Replace("Variable(", string.Empty).Replace(")", string.Empty);
                    if (strCost.Contains("-"))
                    {
                        string[] strValues = strCost.Split('-');
                        intMin = Convert.ToInt32(strValues[0]);
                        intMax = Convert.ToInt32(strValues[1]);
                    }
                    else
                    {
                        intMin = Convert.ToInt32(strCost.Replace("+", string.Empty));
                    }

                    if (intMax == 0)
                    {
                        intMax       = 1000000;
                        lblCost.Text = String.Format("{0:###,###,##0¥+}", intMin);
                    }
                    else
                    {
                        lblCost.Text = String.Format("{0:###,###,##0}", intMin) + "-" + String.Format("{0:###,###,##0¥}", intMax);
                    }

                    intItemCost = intMin;
                }
                else
                {
                    double dblCost = Convert.ToDouble(objGear.TotalCost, GlobalOptions.Instance.CultureInfo);
                    dblCost *= dblMultiplier;
                    dblCost *= 1 + (Convert.ToDouble(nudMarkup.Value, GlobalOptions.Instance.CultureInfo) / 100.0);

                    if (chkHacked.Checked)
                    {
                        dblCost *= 0.1;
                    }

                    intItemCost = Convert.ToInt32(dblCost);

                    lblCost.Text = String.Format("{0:###,###,##0¥}", intItemCost);
                }

                if (chkFreeItem.Checked)
                {
                    lblCost.Text = String.Format("{0:###,###,##0¥}", 0);
                    intItemCost  = 0;
                }

                // Update the Avail Test Label.
                lblTest.Text = _objCharacter.AvailTest(intItemCost * _intCostMultiplier, lblAvail.Text);

                // Capacity.
                lblCapacity.Text = objGear.CalculatedCapacity;

                // Rating.
                if (Convert.ToInt32(objXmlGear["rating"].InnerText) > 0)
                {
                    nudRating.Maximum = Convert.ToInt32(objXmlGear["rating"].InnerText);
                    try
                    {
                        nudRating.Minimum = Convert.ToInt32(objXmlGear["minrating"].InnerText);
                    }
                    catch
                    {
                        nudRating.Minimum = 1;
                    }

                    if (nudRating.Minimum == nudRating.Maximum)
                    {
                        nudRating.Enabled = false;
                    }
                    else
                    {
                        nudRating.Enabled = true;
                    }
                }
                else
                {
                    nudRating.Minimum = 0;
                    nudRating.Maximum = 0;
                    nudRating.Enabled = false;
                }

                tipTooltip.SetToolTip(lblSource, _objCharacter.Options.LanguageBookLong(objGear.Source) + " " + LanguageManager.Instance.GetString("String_Page") + " " + strPage);
            }
        }