| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020 |
- using Server.MirDatabase;
- using Server.MirEnvir;
- namespace Server
- {
- public partial class MagicInfoForm : Form
- {
- public Envir Envir => SMain.EditEnvir;
- private MagicInfo _selectedMagicInfo;
- public MagicInfoForm()
- {
- InitializeComponent();
- MagicSearchBox_TextChanged(this, EventArgs.Empty);
- UpdateMagicForm();
- }
- private void UpdateMagicForm(byte field = 0)
- {
- _selectedMagicInfo = (MagicInfo)MagiclistBox.SelectedItem;
- lblBookValid.BackColor = SystemColors.Window;
- if (_selectedMagicInfo == null)
- {
- tabControl1.Enabled = false;
- lblBookValid.Text = "Searching";
- lblSelected.Text = "Selected Skill: none";
- lblDamageExample.Text = "";
- lblDamageExplained.Text = "";
- txtSkillIcon.Text = "0";
- txtSkillLvl1Points.Text = "0";
- txtSkillLvl1Req.Text = "0";
- txtSkillLvl2Points.Text = "0";
- txtSkillLvl2Req.Text = "0";
- txtSkillLvl3Points.Text = "0";
- txtSkillLvl3Req.Text = "0";
- txtMPBase.Text = "0";
- txtMPIncrease.Text = "0";
- txtDelayBase.Text = "0";
- txtDelayReduction.Text = "0";
- txtDmgBaseMin.Text = "0";
- txtDmgBaseMax.Text = "0";
- txtDmgBonusMin.Text = "0";
- txtDmgBonusMax.Text = "0";
- }
- else
- {
- tabControl1.Enabled = true;
- lblSelected.Text = "Selected Skill: " + _selectedMagicInfo.ToString();
- lblDamageExample.Text =
- $"Damage @ Skill level 0: {GetMinPower(0):000}-{GetMaxPower(0):000} ||| level 1: {GetMinPower(1):000}-{GetMaxPower(1):000} ||| level 2: {GetMinPower(2):000}-{GetMaxPower(2):000} ||| level 3: {GetMinPower(3):000}-{GetMaxPower(3):000}";
- lblDamageExplained.Text =
- $"Damage: {{Random(minstat-maxstat) + [<(random({_selectedMagicInfo.MPowerBase}-{_selectedMagicInfo.MPowerBase + _selectedMagicInfo.MPowerBonus})/4) X (skill level +1)> + random<{_selectedMagicInfo.PowerBase}-{_selectedMagicInfo.PowerBonus + _selectedMagicInfo.PowerBase}>]}} X {{{_selectedMagicInfo.MultiplierBase} + (skill level * {_selectedMagicInfo.MultiplierBonus})}}";
- txtSkillIcon.Text = _selectedMagicInfo.Icon.ToString();
- txtSkillLvl1Points.Text = _selectedMagicInfo.Need1.ToString();
- txtSkillLvl1Req.Text = _selectedMagicInfo.Level1.ToString();
- txtSkillLvl2Points.Text = _selectedMagicInfo.Need2.ToString();
- txtSkillLvl2Req.Text = _selectedMagicInfo.Level2.ToString();
- txtSkillLvl3Points.Text = _selectedMagicInfo.Need3.ToString();
- txtSkillLvl3Req.Text = _selectedMagicInfo.Level3.ToString();
- txtMPBase.Text = _selectedMagicInfo.BaseCost.ToString();
- txtMPIncrease.Text = _selectedMagicInfo.LevelCost.ToString();
- txtDelayBase.Text = _selectedMagicInfo.DelayBase.ToString();
- txtDelayReduction.Text = _selectedMagicInfo.DelayReduction.ToString();
- txtDmgBaseMin.Text = _selectedMagicInfo.PowerBase.ToString();
- txtDmgBaseMax.Text = (_selectedMagicInfo.PowerBase + _selectedMagicInfo.PowerBonus).ToString();
- txtDmgBonusMin.Text = _selectedMagicInfo.MPowerBase.ToString();
- txtDmgBonusMax.Text = (_selectedMagicInfo.MPowerBase + _selectedMagicInfo.MPowerBonus).ToString();
- if (field != 1)
- txtDmgMultBase.Text = _selectedMagicInfo.MultiplierBase.ToString();
- if (field != 2)
- txtDmgMultBoost.Text = _selectedMagicInfo.MultiplierBonus.ToString();
- txtRange.Text = _selectedMagicInfo.Range.ToString();
- ItemInfo Book = Envir.GetBook((short)_selectedMagicInfo.Spell);
- if (Book != null)
- {
- lblBookValid.Text = Book.Name;
- }
- else
- {
- lblBookValid.Text = "No book found";
- lblBookValid.BackColor = Color.Red;
- }
- textBoxName.Text = _selectedMagicInfo.Name;
- }
- }
- private int GetMaxPower(byte level)
- {
- if (_selectedMagicInfo == null) return 0;
- return (int)Math.Round((((_selectedMagicInfo.MPowerBase + _selectedMagicInfo.MPowerBonus) / 4F) * (level + 1) + (_selectedMagicInfo.PowerBase + _selectedMagicInfo.PowerBonus)) * (_selectedMagicInfo.MultiplierBase + (level * _selectedMagicInfo.MultiplierBonus)));
- }
- private int GetMinPower(byte level)
- {
- if (_selectedMagicInfo == null) return 0;
- return (int)Math.Round(((_selectedMagicInfo.MPowerBase / 4F) * (level + 1) + _selectedMagicInfo.PowerBase) * (_selectedMagicInfo.MultiplierBase + (level * _selectedMagicInfo.MultiplierBonus)));
- }
- private void InitializeComponent()
- {
- components = new System.ComponentModel.Container();
- MagiclistBox = new ListBox();
- tabControl1 = new TabControl();
- tabPage1 = new TabPage();
- label24 = new Label();
- label23 = new Label();
- textBoxName = new TextBox();
- lblDamageExample = new Label();
- lblDamageExplained = new Label();
- lblSelected = new Label();
- panel4 = new Panel();
- txtDmgMultBoost = new TextBox();
- txtDmgMultBase = new TextBox();
- label21 = new Label();
- label22 = new Label();
- txtDmgBonusMax = new TextBox();
- txtDmgBonusMin = new TextBox();
- label18 = new Label();
- label19 = new Label();
- txtDmgBaseMax = new TextBox();
- txtDmgBaseMin = new TextBox();
- label17 = new Label();
- label16 = new Label();
- label15 = new Label();
- panel3 = new Panel();
- label20 = new Label();
- txtRange = new TextBox();
- txtDelayReduction = new TextBox();
- txtDelayBase = new TextBox();
- label14 = new Label();
- label13 = new Label();
- label12 = new Label();
- panel2 = new Panel();
- txtMPIncrease = new TextBox();
- txtMPBase = new TextBox();
- label11 = new Label();
- label10 = new Label();
- label9 = new Label();
- panel1 = new Panel();
- txtSkillLvl3Points = new TextBox();
- txtSkillLvl2Points = new TextBox();
- txtSkillLvl1Points = new TextBox();
- label6 = new Label();
- label7 = new Label();
- label8 = new Label();
- txtSkillLvl3Req = new TextBox();
- txtSkillLvl2Req = new TextBox();
- txtSkillLvl1Req = new TextBox();
- label5 = new Label();
- label4 = new Label();
- label3 = new Label();
- label2 = new Label();
- txtSkillIcon = new TextBox();
- label1 = new Label();
- lblBookValid = new Label();
- toolTip1 = new ToolTip(components);
- MagicSearchBox = new TextBox();
- tabControl1.SuspendLayout();
- tabPage1.SuspendLayout();
- panel4.SuspendLayout();
- panel3.SuspendLayout();
- panel2.SuspendLayout();
- panel1.SuspendLayout();
- SuspendLayout();
- //
- // MagiclistBox
- //
- MagiclistBox.Dock = DockStyle.Left;
- MagiclistBox.FormattingEnabled = true;
- MagiclistBox.ItemHeight = 15;
- MagiclistBox.Location = new Point(0, 0);
- MagiclistBox.Name = "MagiclistBox";
- MagiclistBox.Size = new Size(225, 542);
- MagiclistBox.TabIndex = 0;
- MagiclistBox.SelectedIndexChanged += MagiclistBox_SelectedIndexChanged;
- //
- // tabControl1
- //
- tabControl1.Controls.Add(tabPage1);
- tabControl1.Dock = DockStyle.Fill;
- tabControl1.Location = new Point(225, 0);
- tabControl1.Name = "tabControl1";
- tabControl1.SelectedIndex = 0;
- tabControl1.Size = new Size(702, 542);
- tabControl1.TabIndex = 1;
- //
- // tabPage1
- //
- tabPage1.Controls.Add(label24);
- tabPage1.Controls.Add(label23);
- tabPage1.Controls.Add(textBoxName);
- tabPage1.Controls.Add(lblDamageExample);
- tabPage1.Controls.Add(lblDamageExplained);
- tabPage1.Controls.Add(lblSelected);
- tabPage1.Controls.Add(panel4);
- tabPage1.Controls.Add(panel3);
- tabPage1.Controls.Add(panel2);
- tabPage1.Controls.Add(panel1);
- tabPage1.Controls.Add(txtSkillIcon);
- tabPage1.Controls.Add(label1);
- tabPage1.Controls.Add(lblBookValid);
- tabPage1.Location = new Point(4, 24);
- tabPage1.Name = "tabPage1";
- tabPage1.Padding = new Padding(3);
- tabPage1.Size = new Size(694, 514);
- tabPage1.TabIndex = 0;
- tabPage1.Text = "Basics";
- tabPage1.UseVisualStyleBackColor = true;
- //
- // label24
- //
- label24.AutoSize = true;
- label24.Location = new Point(20, 23);
- label24.Name = "label24";
- label24.Size = new Size(63, 15);
- label24.TabIndex = 12;
- label24.Text = "SkillName:";
- //
- // label23
- //
- label23.AutoSize = true;
- label23.Location = new Point(181, 3);
- label23.Name = "label23";
- label23.Size = new Size(37, 15);
- label23.TabIndex = 11;
- label23.Text = "book:";
- //
- // textBoxName
- //
- textBoxName.Location = new Point(89, 18);
- textBoxName.Name = "textBoxName";
- textBoxName.Size = new Size(112, 23);
- textBoxName.TabIndex = 10;
- textBoxName.TextChanged += textBoxName_TextChanged;
- //
- // lblDamageExample
- //
- lblDamageExample.AutoSize = true;
- lblDamageExample.Location = new Point(11, 394);
- lblDamageExample.Name = "lblDamageExample";
- lblDamageExample.Size = new Size(98, 15);
- lblDamageExample.TabIndex = 0;
- lblDamageExample.Text = "Damage example";
- //
- // lblDamageExplained
- //
- lblDamageExplained.AutoSize = true;
- lblDamageExplained.Location = new Point(11, 366);
- lblDamageExplained.Name = "lblDamageExplained";
- lblDamageExplained.Size = new Size(54, 15);
- lblDamageExplained.TabIndex = 9;
- lblDamageExplained.Text = "Damage:";
- //
- // lblSelected
- //
- lblSelected.AutoSize = true;
- lblSelected.Location = new Point(20, 3);
- lblSelected.Name = "lblSelected";
- lblSelected.Size = new Size(80, 15);
- lblSelected.TabIndex = 8;
- lblSelected.Text = "Selected skill: ";
- //
- // panel4
- //
- panel4.BorderStyle = BorderStyle.FixedSingle;
- panel4.Controls.Add(txtDmgMultBoost);
- panel4.Controls.Add(txtDmgMultBase);
- panel4.Controls.Add(label21);
- panel4.Controls.Add(label22);
- panel4.Controls.Add(txtDmgBonusMax);
- panel4.Controls.Add(txtDmgBonusMin);
- panel4.Controls.Add(label18);
- panel4.Controls.Add(label19);
- panel4.Controls.Add(txtDmgBaseMax);
- panel4.Controls.Add(txtDmgBaseMin);
- panel4.Controls.Add(label17);
- panel4.Controls.Add(label16);
- panel4.Controls.Add(label15);
- panel4.Location = new Point(14, 166);
- panel4.Name = "panel4";
- panel4.Size = new Size(233, 191);
- panel4.TabIndex = 6;
- //
- // txtDmgMultBoost
- //
- txtDmgMultBoost.Location = new Point(168, 157);
- txtDmgMultBoost.Name = "txtDmgMultBoost";
- txtDmgMultBoost.Size = new Size(46, 23);
- txtDmgMultBoost.TabIndex = 14;
- toolTip1.SetToolTip(txtDmgMultBoost, "extra multiplyer apply'd for every skill level");
- txtDmgMultBoost.TextChanged += txtDmgMultBoost_TextChanged;
- //
- // txtDmgMultBase
- //
- txtDmgMultBase.Location = new Point(168, 131);
- txtDmgMultBase.Name = "txtDmgMultBase";
- txtDmgMultBase.Size = new Size(46, 23);
- txtDmgMultBase.TabIndex = 13;
- toolTip1.SetToolTip(txtDmgMultBase, "multiplier apply'd to total skill dmg");
- txtDmgMultBase.TextChanged += txtDmgMultBase_TextChanged;
- //
- // label21
- //
- label21.AutoSize = true;
- label21.Location = new Point(12, 160);
- label21.Name = "label21";
- label21.Size = new Size(178, 15);
- label21.TabIndex = 12;
- label21.Text = "Damage multiplyer boost/skilllvl";
- //
- // label22
- //
- label22.AutoSize = true;
- label22.Location = new Point(12, 134);
- label22.Name = "label22";
- label22.Size = new Size(135, 15);
- label22.TabIndex = 11;
- label22.Text = "Damage multiplyer base";
- //
- // txtDmgBonusMax
- //
- txtDmgBonusMax.Location = new Point(168, 105);
- txtDmgBonusMax.Name = "txtDmgBonusMax";
- txtDmgBonusMax.Size = new Size(46, 23);
- txtDmgBonusMax.TabIndex = 10;
- toolTip1.SetToolTip(txtDmgBonusMax, "Damage bonus at skill level '4' ");
- txtDmgBonusMax.TextChanged += txtDmgBonusMax_TextChanged;
- //
- // txtDmgBonusMin
- //
- txtDmgBonusMin.Location = new Point(168, 79);
- txtDmgBonusMin.Name = "txtDmgBonusMin";
- txtDmgBonusMin.Size = new Size(46, 23);
- txtDmgBonusMin.TabIndex = 9;
- toolTip1.SetToolTip(txtDmgBonusMin, "Damage bonus at skill level '4' \r\nyou will get 1/4th of this bonus for every skill level\r\nnote ingame level 0 = 1 bonus, so level 3 = max bonus (4)");
- txtDmgBonusMin.TextChanged += txtDmgBonusMin_TextChanged;
- //
- // label18
- //
- label18.AutoSize = true;
- label18.Location = new Point(12, 108);
- label18.Name = "label18";
- label18.Size = new Size(154, 15);
- label18.TabIndex = 8;
- label18.Text = "Maximum skill lvl 3 damage";
- //
- // label19
- //
- label19.AutoSize = true;
- label19.Location = new Point(12, 82);
- label19.Name = "label19";
- label19.Size = new Size(156, 15);
- label19.TabIndex = 7;
- label19.Text = "Minimum skill lvl 3 damage:";
- //
- // txtDmgBaseMax
- //
- txtDmgBaseMax.Location = new Point(168, 53);
- txtDmgBaseMax.Name = "txtDmgBaseMax";
- txtDmgBaseMax.Size = new Size(46, 23);
- txtDmgBaseMax.TabIndex = 6;
- toolTip1.SetToolTip(txtDmgBaseMax, "Damage at skill level 0");
- txtDmgBaseMax.TextChanged += txtDmgBaseMax_TextChanged;
- //
- // txtDmgBaseMin
- //
- txtDmgBaseMin.Location = new Point(168, 27);
- txtDmgBaseMin.Name = "txtDmgBaseMin";
- txtDmgBaseMin.Size = new Size(46, 23);
- txtDmgBaseMin.TabIndex = 5;
- toolTip1.SetToolTip(txtDmgBaseMin, "Damage at skill level 0");
- txtDmgBaseMin.TextChanged += txtDmgBaseMin_TextChanged;
- //
- // label17
- //
- label17.AutoSize = true;
- label17.Location = new Point(12, 56);
- label17.Name = "label17";
- label17.Size = new Size(134, 15);
- label17.TabIndex = 2;
- label17.Text = "Maximum base damage";
- //
- // label16
- //
- label16.AutoSize = true;
- label16.Location = new Point(12, 30);
- label16.Name = "label16";
- label16.Size = new Size(136, 15);
- label16.TabIndex = 1;
- label16.Text = "Minimum base damage:";
- //
- // label15
- //
- label15.AutoSize = true;
- label15.Location = new Point(5, 8);
- label15.Name = "label15";
- label15.Size = new Size(95, 15);
- label15.TabIndex = 0;
- label15.Text = "Damage settings";
- //
- // panel3
- //
- panel3.BorderStyle = BorderStyle.FixedSingle;
- panel3.Controls.Add(label20);
- panel3.Controls.Add(txtRange);
- panel3.Controls.Add(txtDelayReduction);
- panel3.Controls.Add(txtDelayBase);
- panel3.Controls.Add(label14);
- panel3.Controls.Add(label13);
- panel3.Controls.Add(label12);
- panel3.Location = new Point(253, 166);
- panel3.Name = "panel3";
- panel3.Size = new Size(216, 191);
- panel3.TabIndex = 5;
- toolTip1.SetToolTip(panel3, "delay = <base delay> - (skill level * <decrease>)");
- //
- // label20
- //
- label20.AutoSize = true;
- label20.Location = new Point(12, 77);
- label20.Name = "label20";
- label20.Size = new Size(103, 15);
- label20.TabIndex = 15;
- label20.Text = "Range (0 No limit)";
- //
- // txtRange
- //
- txtRange.Location = new Point(121, 74);
- txtRange.Name = "txtRange";
- txtRange.Size = new Size(79, 23);
- txtRange.TabIndex = 14;
- txtRange.TextChanged += txtRange_TextChanged;
- //
- // txtDelayReduction
- //
- txtDelayReduction.Location = new Point(121, 47);
- txtDelayReduction.Name = "txtDelayReduction";
- txtDelayReduction.Size = new Size(79, 23);
- txtDelayReduction.TabIndex = 13;
- toolTip1.SetToolTip(txtDelayReduction, "delay = <base delay> - (skill level * <decrease>)");
- txtDelayReduction.TextChanged += txtDelayReduction_TextChanged;
- //
- // txtDelayBase
- //
- txtDelayBase.Location = new Point(121, 22);
- txtDelayBase.Name = "txtDelayBase";
- txtDelayBase.Size = new Size(79, 23);
- txtDelayBase.TabIndex = 12;
- toolTip1.SetToolTip(txtDelayBase, "delay = <base delay> - (skill level * <decrease>)");
- txtDelayBase.TextChanged += txtDelayBase_TextChanged;
- //
- // label14
- //
- label14.AutoSize = true;
- label14.Location = new Point(12, 50);
- label14.Name = "label14";
- label14.Size = new Size(112, 15);
- label14.TabIndex = 2;
- label14.Text = "Decrease / skill level";
- //
- // label13
- //
- label13.AutoSize = true;
- label13.Location = new Point(12, 25);
- label13.Name = "label13";
- label13.Size = new Size(62, 15);
- label13.TabIndex = 1;
- label13.Text = "Base delay";
- //
- // label12
- //
- label12.AutoSize = true;
- label12.Location = new Point(12, 8);
- label12.Name = "label12";
- label12.Size = new Size(129, 15);
- label12.TabIndex = 0;
- label12.Text = "Delay (in milliseconds!)";
- //
- // panel2
- //
- panel2.BorderStyle = BorderStyle.FixedSingle;
- panel2.Controls.Add(txtMPIncrease);
- panel2.Controls.Add(txtMPBase);
- panel2.Controls.Add(label11);
- panel2.Controls.Add(label10);
- panel2.Controls.Add(label9);
- panel2.Location = new Point(253, 53);
- panel2.Name = "panel2";
- panel2.Size = new Size(216, 107);
- panel2.TabIndex = 4;
- //
- // txtMPIncrease
- //
- txtMPIncrease.Location = new Point(135, 47);
- txtMPIncrease.Name = "txtMPIncrease";
- txtMPIncrease.Size = new Size(46, 23);
- txtMPIncrease.TabIndex = 12;
- toolTip1.SetToolTip(txtMPIncrease, "extra amount of mp used each level");
- txtMPIncrease.TextChanged += txtMPIncrease_TextChanged;
- //
- // txtMPBase
- //
- txtMPBase.Location = new Point(135, 22);
- txtMPBase.Name = "txtMPBase";
- txtMPBase.Size = new Size(46, 23);
- txtMPBase.TabIndex = 11;
- toolTip1.SetToolTip(txtMPBase, "Mp usage when skill is level 0");
- txtMPBase.TextChanged += txtMPBase_TextChanged;
- //
- // label11
- //
- label11.AutoSize = true;
- label11.Location = new Point(12, 50);
- label11.Name = "label11";
- label11.Size = new Size(126, 15);
- label11.TabIndex = 2;
- label11.Text = "MP increase each level";
- //
- // label10
- //
- label10.AutoSize = true;
- label10.Location = new Point(12, 25);
- label10.Name = "label10";
- label10.Size = new Size(86, 15);
- label10.TabIndex = 1;
- label10.Text = "Base mp usage";
- //
- // label9
- //
- label9.AutoSize = true;
- label9.Location = new Point(12, 6);
- label9.Name = "label9";
- label9.Size = new Size(59, 15);
- label9.TabIndex = 0;
- label9.Text = "MP usage";
- //
- // panel1
- //
- panel1.BorderStyle = BorderStyle.FixedSingle;
- panel1.Controls.Add(txtSkillLvl3Points);
- panel1.Controls.Add(txtSkillLvl2Points);
- panel1.Controls.Add(txtSkillLvl1Points);
- panel1.Controls.Add(label6);
- panel1.Controls.Add(label7);
- panel1.Controls.Add(label8);
- panel1.Controls.Add(txtSkillLvl3Req);
- panel1.Controls.Add(txtSkillLvl2Req);
- panel1.Controls.Add(txtSkillLvl1Req);
- panel1.Controls.Add(label5);
- panel1.Controls.Add(label4);
- panel1.Controls.Add(label3);
- panel1.Controls.Add(label2);
- panel1.Location = new Point(13, 53);
- panel1.Name = "panel1";
- panel1.Size = new Size(234, 107);
- panel1.TabIndex = 3;
- //
- // txtSkillLvl3Points
- //
- txtSkillLvl3Points.Location = new Point(169, 72);
- txtSkillLvl3Points.Name = "txtSkillLvl3Points";
- txtSkillLvl3Points.Size = new Size(46, 23);
- txtSkillLvl3Points.TabIndex = 12;
- txtSkillLvl3Points.TextChanged += txtSkillLvl3Points_TextChanged;
- //
- // txtSkillLvl2Points
- //
- txtSkillLvl2Points.Location = new Point(169, 47);
- txtSkillLvl2Points.Name = "txtSkillLvl2Points";
- txtSkillLvl2Points.Size = new Size(46, 23);
- txtSkillLvl2Points.TabIndex = 11;
- txtSkillLvl2Points.TextChanged += txtSkillLvl2Points_TextChanged;
- //
- // txtSkillLvl1Points
- //
- txtSkillLvl1Points.Location = new Point(169, 22);
- txtSkillLvl1Points.Name = "txtSkillLvl1Points";
- txtSkillLvl1Points.Size = new Size(46, 23);
- txtSkillLvl1Points.TabIndex = 10;
- txtSkillLvl1Points.TextChanged += txtSkillLvl1Points_TextChanged;
- //
- // label6
- //
- label6.AutoSize = true;
- label6.Location = new Point(110, 75);
- label6.Name = "label6";
- label6.Size = new Size(64, 15);
- label6.TabIndex = 9;
- label6.Text = "Skill points";
- //
- // label7
- //
- label7.AutoSize = true;
- label7.Location = new Point(110, 50);
- label7.Name = "label7";
- label7.Size = new Size(64, 15);
- label7.TabIndex = 8;
- label7.Text = "Skill points";
- //
- // label8
- //
- label8.AutoSize = true;
- label8.Location = new Point(110, 25);
- label8.Name = "label8";
- label8.Size = new Size(64, 15);
- label8.TabIndex = 7;
- label8.Text = "Skill points";
- //
- // txtSkillLvl3Req
- //
- txtSkillLvl3Req.Location = new Point(57, 72);
- txtSkillLvl3Req.Name = "txtSkillLvl3Req";
- txtSkillLvl3Req.Size = new Size(46, 23);
- txtSkillLvl3Req.TabIndex = 6;
- txtSkillLvl3Req.TextChanged += txtSkillLvl3Req_TextChanged;
- //
- // txtSkillLvl2Req
- //
- txtSkillLvl2Req.Location = new Point(57, 47);
- txtSkillLvl2Req.Name = "txtSkillLvl2Req";
- txtSkillLvl2Req.Size = new Size(46, 23);
- txtSkillLvl2Req.TabIndex = 5;
- txtSkillLvl2Req.TextChanged += txtSkillLvl2Req_TextChanged;
- //
- // txtSkillLvl1Req
- //
- txtSkillLvl1Req.Location = new Point(57, 22);
- txtSkillLvl1Req.Name = "txtSkillLvl1Req";
- txtSkillLvl1Req.Size = new Size(46, 23);
- txtSkillLvl1Req.TabIndex = 4;
- txtSkillLvl1Req.TextChanged += txtSkillLvl1Req_TextChanged;
- //
- // label5
- //
- label5.AutoSize = true;
- label5.Location = new Point(13, 75);
- label5.Name = "label5";
- label5.Size = new Size(40, 15);
- label5.TabIndex = 3;
- label5.Text = "level 3";
- //
- // label4
- //
- label4.AutoSize = true;
- label4.Location = new Point(13, 50);
- label4.Name = "label4";
- label4.Size = new Size(40, 15);
- label4.TabIndex = 2;
- label4.Text = "level 2";
- //
- // label3
- //
- label3.AutoSize = true;
- label3.Location = new Point(13, 25);
- label3.Name = "label3";
- label3.Size = new Size(40, 15);
- label3.TabIndex = 1;
- label3.Text = "level 1";
- //
- // label2
- //
- label2.AutoSize = true;
- label2.Location = new Point(6, 6);
- label2.Name = "label2";
- label2.Size = new Size(174, 15);
- label2.TabIndex = 0;
- label2.Text = "Skill level increase requirements";
- //
- // txtSkillIcon
- //
- txtSkillIcon.Location = new Point(311, 20);
- txtSkillIcon.Name = "txtSkillIcon";
- txtSkillIcon.Size = new Size(41, 23);
- txtSkillIcon.TabIndex = 2;
- txtSkillIcon.TextChanged += txtSkillIcon_TextChanged;
- //
- // label1
- //
- label1.AutoSize = true;
- label1.Location = new Point(250, 23);
- label1.Name = "label1";
- label1.Size = new Size(60, 15);
- label1.TabIndex = 1;
- label1.Text = "Skill icon: ";
- //
- // lblBookValid
- //
- lblBookValid.AutoSize = true;
- lblBookValid.Location = new Point(222, 3);
- lblBookValid.Name = "lblBookValid";
- lblBookValid.Size = new Size(112, 15);
- lblBookValid.TabIndex = 0;
- lblBookValid.Text = "Searching for books";
- //
- // MagicSearchBox
- //
- MagicSearchBox.Location = new Point(276, 0);
- MagicSearchBox.Name = "MagicSearchBox";
- MagicSearchBox.PlaceholderText = "Search...";
- MagicSearchBox.Size = new Size(201, 23);
- MagicSearchBox.TabIndex = 2;
- MagicSearchBox.TextChanged += MagicSearchBox_TextChanged;
- //
- // MagicInfoForm
- //
- ClientSize = new Size(927, 542);
- Controls.Add(MagicSearchBox);
- Controls.Add(tabControl1);
- Controls.Add(MagiclistBox);
- Name = "MagicInfoForm";
- Text = "Magic Settings";
- FormClosed += MagicInfoForm_FormClosed;
- tabControl1.ResumeLayout(false);
- tabPage1.ResumeLayout(false);
- tabPage1.PerformLayout();
- panel4.ResumeLayout(false);
- panel4.PerformLayout();
- panel3.ResumeLayout(false);
- panel3.PerformLayout();
- panel2.ResumeLayout(false);
- panel2.PerformLayout();
- panel1.ResumeLayout(false);
- panel1.PerformLayout();
- ResumeLayout(false);
- PerformLayout();
- }
- private void MagicInfoForm_FormClosed(object sender, FormClosedEventArgs e)
- {
- //do something to save it all
- Envir.SaveDB();
- }
- private void MagiclistBox_SelectedIndexChanged(object sender, EventArgs e)
- {
- UpdateMagicForm();
- }
- private bool IsValid(ref byte input)
- {
- if (!byte.TryParse(ActiveControl.Text, out input))
- {
- ActiveControl.BackColor = Color.Red;
- return false;
- }
- return true;
- }
- private bool IsValid(ref ushort input)
- {
- if (!ushort.TryParse(ActiveControl.Text, out input))
- {
- ActiveControl.BackColor = Color.Red;
- return false;
- }
- return true;
- }
- private bool IsValid(ref uint input)
- {
- if (!uint.TryParse(ActiveControl.Text, out input))
- {
- ActiveControl.BackColor = Color.Red;
- return false;
- }
- return true;
- }
- private bool IsValid(ref float input)
- {
- if (!float.TryParse(ActiveControl.Text, out input))
- {
- ActiveControl.BackColor = Color.Red;
- return false;
- }
- return true;
- }
- private void txtSkillIcon_TextChanged(object sender, EventArgs e)
- {
- if (ActiveControl != sender) return;
- byte temp = 0;
- if (!IsValid(ref temp)) return;
- ActiveControl.BackColor = SystemColors.Window;
- _selectedMagicInfo.Icon = temp;
- }
- private void txtSkillLvl1Req_TextChanged(object sender, EventArgs e)
- {
- if (ActiveControl != sender) return;
- byte temp = 0;
- if (!IsValid(ref temp)) return;
- ActiveControl.BackColor = SystemColors.Window;
- _selectedMagicInfo.Level1 = temp;
- }
- private void txtSkillLvl2Req_TextChanged(object sender, EventArgs e)
- {
- if (ActiveControl != sender) return;
- byte temp = 0;
- if (!IsValid(ref temp)) return;
- ActiveControl.BackColor = SystemColors.Window;
- _selectedMagicInfo.Level2 = temp;
- }
- private void txtSkillLvl3Req_TextChanged(object sender, EventArgs e)
- {
- if (ActiveControl != sender) return;
- byte temp = 0;
- if (!IsValid(ref temp)) return;
- ActiveControl.BackColor = SystemColors.Window;
- _selectedMagicInfo.Level3 = temp;
- }
- private void txtSkillLvl1Points_TextChanged(object sender, EventArgs e)
- {
- if (ActiveControl != sender) return;
- ushort temp = 0;
- if (!IsValid(ref temp)) return;
- ActiveControl.BackColor = SystemColors.Window;
- _selectedMagicInfo.Need1 = temp;
- }
- private void txtSkillLvl2Points_TextChanged(object sender, EventArgs e)
- {
- if (ActiveControl != sender) return;
- ushort temp = 0;
- if (!IsValid(ref temp)) return;
- ActiveControl.BackColor = SystemColors.Window;
- _selectedMagicInfo.Need2 = temp;
- }
- private void txtSkillLvl3Points_TextChanged(object sender, EventArgs e)
- {
- if (ActiveControl != sender) return;
- ushort temp = 0;
- if (!IsValid(ref temp)) return;
- ActiveControl.BackColor = SystemColors.Window;
- _selectedMagicInfo.Need3 = temp;
- }
- private void txtMPBase_TextChanged(object sender, EventArgs e)
- {
- if (ActiveControl != sender) return;
- byte temp = 0;
- if (!IsValid(ref temp)) return;
- ActiveControl.BackColor = SystemColors.Window;
- _selectedMagicInfo.BaseCost = temp;
- }
- private void txtMPIncrease_TextChanged(object sender, EventArgs e)
- {
- if (ActiveControl != sender) return;
- byte temp = 0;
- if (!IsValid(ref temp)) return;
- ActiveControl.BackColor = SystemColors.Window;
- _selectedMagicInfo.LevelCost = temp;
- }
- private void txtDmgBaseMin_TextChanged(object sender, EventArgs e)
- {
- if (ActiveControl != sender) return;
- ushort temp = 0;
- if (!IsValid(ref temp)) return;
- ActiveControl.BackColor = SystemColors.Window;
- _selectedMagicInfo.PowerBase = temp;
- UpdateMagicForm();
- }
- private void txtDmgBaseMax_TextChanged(object sender, EventArgs e)
- {
- if (ActiveControl != sender) return;
- ushort temp = 0;
- if (!IsValid(ref temp)) return;
- if (temp < _selectedMagicInfo.PowerBase)
- {
- ActiveControl.BackColor = Color.Red;
- return;
- }
- ActiveControl.BackColor = SystemColors.Window;
- _selectedMagicInfo.PowerBonus = (ushort)(temp - _selectedMagicInfo.PowerBase);
- UpdateMagicForm();
- }
- private void txtDmgBonusMin_TextChanged(object sender, EventArgs e)
- {
- if (ActiveControl != sender) return;
- ushort temp = 0;
- if (!IsValid(ref temp)) return;
- ActiveControl.BackColor = SystemColors.Window;
- _selectedMagicInfo.MPowerBase = temp;
- UpdateMagicForm();
- }
- private void txtDmgBonusMax_TextChanged(object sender, EventArgs e)
- {
- if (ActiveControl != sender) return;
- ushort temp = 0;
- if (!IsValid(ref temp)) return;
- if (temp < _selectedMagicInfo.MPowerBase)
- {
- ActiveControl.BackColor = Color.Red;
- return;
- }
- ActiveControl.BackColor = SystemColors.Window;
- _selectedMagicInfo.MPowerBonus = (ushort)(temp - _selectedMagicInfo.MPowerBase);
- UpdateMagicForm();
- }
- private void txtDelayBase_TextChanged(object sender, EventArgs e)
- {
- if (ActiveControl != sender) return;
- uint temp = 0;
- if (!IsValid(ref temp)) return;
- ActiveControl.BackColor = SystemColors.Window;
- _selectedMagicInfo.DelayBase = temp;
- }
- private void txtDelayReduction_TextChanged(object sender, EventArgs e)
- {
- if (ActiveControl != sender) return;
- uint temp = 0;
- if (!IsValid(ref temp)) return;
- ActiveControl.BackColor = SystemColors.Window;
- _selectedMagicInfo.DelayReduction = temp;
- }
- private void txtRange_TextChanged(object sender, EventArgs e)
- {
- if (ActiveControl != sender) return;
- byte temp = 0;
- if (!IsValid(ref temp)) return;
- ActiveControl.BackColor = SystemColors.Window;
- _selectedMagicInfo.Range = temp;
- }
- private void txtDmgMultBase_TextChanged(object sender, EventArgs e)
- {
- if (ActiveControl != sender) return;
- float temp = 0;
- if (!IsValid(ref temp)) return;
- ActiveControl.BackColor = SystemColors.Window;
- _selectedMagicInfo.MultiplierBase = temp;
- UpdateMagicForm(1);
- }
- private void txtDmgMultBoost_TextChanged(object sender, EventArgs e)
- {
- if (ActiveControl != sender) return;
- float temp = 0;
- if (!IsValid(ref temp)) return;
- ActiveControl.BackColor = SystemColors.Window;
- _selectedMagicInfo.MultiplierBonus = temp;
- UpdateMagicForm(2);
- }
- private void textBoxName_TextChanged(object sender, EventArgs e)
- {
- if (ActiveControl != sender) return;
- _selectedMagicInfo.Name = ActiveControl.Text;
- UpdateMagicForm();
- if (ActiveControl.Text == "")
- {
- ActiveControl.BackColor = Color.Red;
- }
- else
- {
- ActiveControl.BackColor = SystemColors.Window;
- }
- }
- #region Search Box
- private void MagicSearchBox_TextChanged(object sender, EventArgs e)
- {
- // Show all items when the search box is cleared or placeholder is active
- if (string.IsNullOrWhiteSpace(MagicSearchBox.Text))
- {
- MagiclistBox.Items.Clear();
- foreach (var magic in Envir.MagicInfoList)
- {
- MagiclistBox.Items.Add(magic);
- }
- return;
- }
- string searchText = MagicSearchBox.Text.ToLower();
- MagiclistBox.Items.Clear();
- // Add filtered items to the list
- foreach (var magic in Envir.MagicInfoList)
- {
- if (!string.IsNullOrEmpty(magic.Name) && magic.Name.ToLower().Contains(searchText))
- {
- MagiclistBox.Items.Add(magic);
- }
- }
- }
- #endregion
- }
- }
|