GuildInfoForm.cs 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703
  1. using System.Globalization;
  2. using Server.Library.MirDatabase;
  3. using Server.MirEnvir;
  4. using Server.MirObjects;
  5. namespace Server
  6. {
  7. public partial class GuildInfoForm : Form
  8. {
  9. public Envir Envir => SMain.EditEnvir;
  10. public bool GuildsChanged = false;
  11. GuildBuffInfo SelectedBuff;
  12. public GuildInfoForm()
  13. {
  14. InitializeComponent();
  15. for (int i = 0; i < Settings.Guild_ExperienceList.Count; i++)
  16. GuildLevelListcomboBox.Items.Add(i);
  17. for (int i = 0; i < Settings.Guild_CreationCostList.Count; i++)
  18. GuildCreateListcomboBox.Items.Add(i);
  19. GuildItemNamecomboBox.Items.Clear();
  20. GuildItemNamecomboBox.Items.Add("");
  21. for (int i = 0; i < Envir.ItemInfoList.Count; i++)
  22. {
  23. GuildItemNamecomboBox.Items.Add(Envir.ItemInfoList[i]);
  24. }
  25. for (int i = 0; i < Settings.Guild_BuffList.Count; i++)
  26. BuffList.Items.Add(Settings.Guild_BuffList[i]);
  27. UpdateGuildInterface();
  28. }
  29. private void GuildInfoForm_FormClosed(object sender, FormClosedEventArgs e)
  30. {
  31. if (GuildsChanged)
  32. Settings.SaveGuildSettings();
  33. }
  34. private void UpdateGuildInterface()
  35. {
  36. GuildMinOwnerLeveltextBox.Text = Settings.Guild_RequiredLevel.ToString();
  37. GuildPPLtextBox.Text = Settings.Guild_PointPerLevel.ToString();
  38. GuildExpratetextBox.Text = Settings.Guild_ExpRate.ToString(CultureInfo.InvariantCulture);
  39. WarLengthTextBox.Text = Settings.Guild_WarTime.ToString();
  40. WarCostTextBox.Text = Settings.Guild_WarCost.ToString();
  41. NewbieGuildExptextBox.Text = Settings.NewbieGuildExpBuff.ToString();
  42. NewbieGuildBuffEnabledcheckBox.Checked = Settings.NewbieGuildBuffEnabled;
  43. GTPriceBox.Text = Settings.BuyGTGold.ToString();
  44. GTExtendPriceBox.Text = Settings.ExtendGT.ToString();
  45. GTDurationBox.Text = Settings.GTDays.ToString();
  46. if ((GuildLevelListcomboBox.SelectedItem == null) || (GuildLevelListcomboBox.SelectedIndex >= Settings.Guild_ExperienceList.Count) || (GuildLevelListcomboBox.SelectedIndex >= Settings.Guild_MembercapList.Count))
  47. {
  48. GuildExpNeededtextBox.Text = string.Empty;
  49. GuildMemberCaptextBox.Text = string.Empty;
  50. }
  51. else
  52. {
  53. GuildExpNeededtextBox.Text = Settings.Guild_ExperienceList[GuildLevelListcomboBox.SelectedIndex].ToString();
  54. GuildMemberCaptextBox.Text = Settings.Guild_MembercapList[GuildLevelListcomboBox.SelectedIndex].ToString();
  55. }
  56. if ((GuildCreateListcomboBox.SelectedItem == null) || (GuildCreateListcomboBox.SelectedIndex >= Settings.Guild_CreationCostList.Count))
  57. {
  58. GuildItemNamecomboBox.SelectedIndex = 0;
  59. GuildAmounttextBox.Text = string.Empty;
  60. }
  61. else
  62. {
  63. if (Settings.Guild_CreationCostList[GuildCreateListcomboBox.SelectedIndex].Item == null)
  64. GuildItemNamecomboBox.SelectedIndex = 0;
  65. else
  66. {
  67. if (Envir.GetItemInfo(Settings.Guild_CreationCostList[GuildCreateListcomboBox.SelectedIndex].Item.Index) != null)
  68. {
  69. GuildItemNamecomboBox.SelectedItem = Envir.GetItemInfo(Settings.Guild_CreationCostList[GuildCreateListcomboBox.SelectedIndex].Item.Index);
  70. }
  71. else
  72. {
  73. GuildItemNamecomboBox.SelectedIndex = 0;
  74. }
  75. }
  76. }
  77. if (BuffList.SelectedItem == null)
  78. {
  79. SelectedBuff = null;
  80. BuffPanel.Enabled = false;
  81. BufflblIndex.Text = "No Buff Selected";
  82. BufftxtName.Text = string.Empty;
  83. BuffTxtLevelReq.Text = string.Empty;
  84. BufftxtPointsReq.Text = string.Empty;
  85. BufftxtTimeLimit.Text = string.Empty;
  86. BufftxtActivationCost.Text = string.Empty;
  87. bufftxtIcon.Text = string.Empty;
  88. BufftxtAc.Text = string.Empty;
  89. BufftxtMac.Text = string.Empty;
  90. BufftxtDc.Text = string.Empty;
  91. BufftxtMc.Text = string.Empty;
  92. BufftxtSc.Text = string.Empty;
  93. BufftxtAttack.Text = string.Empty;
  94. BufftxtHpRegen.Text = string.Empty;
  95. BufftxtMpRegen.Text = string.Empty;
  96. BufftxtMaxHp.Text = string.Empty;
  97. BufftxtMaxMp.Text = string.Empty;
  98. BufftxtMineRate.Text = string.Empty;
  99. BufftxtGemRate.Text = string.Empty;
  100. BufftxtFishRate.Text = string.Empty;
  101. BufftxtExpRate.Text = string.Empty;
  102. BufftxtCraftRate.Text = string.Empty;
  103. BufftxtSkillRate.Text = string.Empty;
  104. BufftxtDropRate.Text = string.Empty;
  105. BufftxtGoldRate.Text = string.Empty;
  106. }
  107. else
  108. {
  109. SelectedBuff = (GuildBuffInfo)BuffList.SelectedItem;
  110. BuffPanel.Enabled = true;
  111. BufflblIndex.Text = $"Index: {SelectedBuff.Id}";
  112. BufftxtName.Text = SelectedBuff.Name;
  113. BuffTxtLevelReq.Text = SelectedBuff.LevelRequirement.ToString();
  114. BufftxtPointsReq.Text = SelectedBuff.PointsRequirement.ToString();
  115. BufftxtTimeLimit.Text = SelectedBuff.TimeLimit.ToString();
  116. BufftxtActivationCost.Text = SelectedBuff.ActivationCost.ToString();
  117. bufftxtIcon.Text = SelectedBuff.Icon.ToString();
  118. BufftxtAc.Text = SelectedBuff.Stats[Stat.MaxAC].ToString();
  119. BufftxtMac.Text = SelectedBuff.Stats[Stat.MaxMAC].ToString();
  120. BufftxtDc.Text = SelectedBuff.Stats[Stat.MaxDC].ToString();
  121. BufftxtMc.Text = SelectedBuff.Stats[Stat.MaxMC].ToString();
  122. BufftxtSc.Text = SelectedBuff.Stats[Stat.MaxSC].ToString();
  123. BufftxtAttack.Text = SelectedBuff.Stats[Stat.AttackBonus].ToString();
  124. BufftxtHpRegen.Text = SelectedBuff.Stats[Stat.HealthRecovery].ToString();
  125. BufftxtMpRegen.Text = SelectedBuff.Stats[Stat.SpellRecovery].ToString();
  126. BufftxtMaxHp.Text = SelectedBuff.Stats[Stat.HP].ToString();
  127. BufftxtMaxMp.Text = SelectedBuff.Stats[Stat.MP].ToString();
  128. BufftxtMineRate.Text = SelectedBuff.Stats[Stat.MineRatePercent].ToString();
  129. BufftxtGemRate.Text = SelectedBuff.Stats[Stat.GemRatePercent].ToString();
  130. BufftxtFishRate.Text = SelectedBuff.Stats[Stat.FishRatePercent].ToString();
  131. BufftxtExpRate.Text = SelectedBuff.Stats[Stat.ExpRatePercent].ToString();
  132. BufftxtCraftRate.Text = SelectedBuff.Stats[Stat.CraftRatePercent].ToString();
  133. BufftxtSkillRate.Text = SelectedBuff.Stats[Stat.SkillGainMultiplier].ToString();
  134. BufftxtDropRate.Text = SelectedBuff.Stats[Stat.ItemDropRatePercent].ToString();
  135. BufftxtGoldRate.Text = SelectedBuff.Stats[Stat.GoldDropRatePercent].ToString();
  136. }
  137. }
  138. private void NewbieGuildExptextBox_TextChanged(object sender, EventArgs e)
  139. {
  140. if (ActiveControl != sender) return;
  141. if (!int.TryParse(ActiveControl.Text, out int temp))
  142. {
  143. ActiveControl.BackColor = Color.Red;
  144. return;
  145. }
  146. ActiveControl.BackColor = SystemColors.Window;
  147. Settings.NewbieGuildExpBuff = temp;
  148. GuildsChanged = true;
  149. }
  150. private void NewbieGuildBuffEnabledcheckBox_CheckedChanged(object sender, EventArgs e)
  151. {
  152. if (ActiveControl != sender) return;
  153. Settings.NewbieGuildBuffEnabled = NewbieGuildBuffEnabledcheckBox.Checked;
  154. GuildsChanged = true;
  155. }
  156. private void GuildMinOwnerLeveltextBox_TextChanged(object sender, EventArgs e)
  157. {
  158. if (ActiveControl != sender) return;
  159. if (!byte.TryParse(ActiveControl.Text, out byte temp))
  160. {
  161. ActiveControl.BackColor = Color.Red;
  162. return;
  163. }
  164. ActiveControl.BackColor = SystemColors.Window;
  165. Settings.Guild_RequiredLevel = temp;
  166. GuildsChanged = true;
  167. }
  168. private void GuildPPLtextBox_TextChanged(object sender, EventArgs e)
  169. {
  170. if (ActiveControl != sender) return;
  171. if (!byte.TryParse(ActiveControl.Text, out byte temp))
  172. {
  173. ActiveControl.BackColor = Color.Red;
  174. return;
  175. }
  176. ActiveControl.BackColor = SystemColors.Window;
  177. Settings.Guild_PointPerLevel = temp;
  178. GuildsChanged = true;
  179. }
  180. private void GuildExpratetextBox_TextChanged(object sender, EventArgs e)
  181. {
  182. if (ActiveControl != sender) return;
  183. if (!float.TryParse(ActiveControl.Text, NumberStyles.Float, CultureInfo.InvariantCulture, out float temp) &&
  184. !float.TryParse(ActiveControl.Text, NumberStyles.Float, CultureInfo.CurrentCulture, out temp))
  185. {
  186. ActiveControl.BackColor = Color.Red;
  187. return;
  188. }
  189. ActiveControl.BackColor = SystemColors.Window;
  190. Settings.Guild_ExpRate = temp;
  191. GuildsChanged = true;
  192. }
  193. private void GuildCreateListcomboBox_SelectedIndexChanged(object sender, EventArgs e)
  194. {
  195. if (ActiveControl != sender) return;
  196. UpdateGuildInterface();
  197. }
  198. private void GuildAddCreatItembutton_Click(object sender, EventArgs e)
  199. {
  200. if (ActiveControl != sender) return;
  201. Settings.Guild_CreationCostList.Add(new GuildItemVolume());
  202. GuildCreateListcomboBox.Items.Add(Settings.Guild_CreationCostList.Count - 1);
  203. GuildCreateListcomboBox.SelectedIndex = Settings.Guild_CreationCostList.Count - 1;
  204. UpdateGuildInterface();
  205. GuildsChanged = true;
  206. }
  207. private void GuildDeleteCreateItembutton_Click(object sender, EventArgs e)
  208. {
  209. if (ActiveControl != sender) return;
  210. if (MessageBox.Show("Are you sure you want to delete the last index?", "Delete?", MessageBoxButtons.YesNo) != DialogResult.Yes) return;
  211. GuildCreateListcomboBox.Items.RemoveAt(Settings.Guild_CreationCostList.Count - 1);
  212. Settings.Guild_CreationCostList.RemoveAt(Settings.Guild_CreationCostList.Count - 1);
  213. UpdateGuildInterface();
  214. GuildsChanged = true;
  215. }
  216. private void GuildItemNamecomboBox_SelectedIndexChanged(object sender, EventArgs e)
  217. {
  218. if (ActiveControl != sender) return;
  219. //if (GuildLevelListcomboBox.SelectedItem == null) return;
  220. if (GuildItemNamecomboBox.SelectedIndex == 0)
  221. {
  222. Settings.Guild_CreationCostList[GuildCreateListcomboBox.SelectedIndex].Item = null;
  223. Settings.Guild_CreationCostList[GuildCreateListcomboBox.SelectedIndex].ItemName = "";
  224. }
  225. else
  226. {
  227. Settings.Guild_CreationCostList[GuildCreateListcomboBox.SelectedIndex].Item = (ItemInfo)GuildItemNamecomboBox.SelectedItem;
  228. Settings.Guild_CreationCostList[GuildCreateListcomboBox.SelectedIndex].ItemName = Settings.Guild_CreationCostList[GuildCreateListcomboBox.SelectedIndex].Item.Name;
  229. }
  230. UpdateGuildInterface();
  231. GuildsChanged = true;
  232. }
  233. private void GuildAmounttextBox_TextChanged(object sender, EventArgs e)
  234. {
  235. if (ActiveControl != sender) return;
  236. if (GuildLevelListcomboBox.SelectedItem == null) return;
  237. if (!uint.TryParse(ActiveControl.Text, out uint temp))
  238. {
  239. ActiveControl.BackColor = Color.Red;
  240. return;
  241. }
  242. ActiveControl.BackColor = SystemColors.Window;
  243. Settings.Guild_CreationCostList[GuildCreateListcomboBox.SelectedIndex].Amount = temp;
  244. UpdateGuildInterface();
  245. GuildsChanged = true;
  246. }
  247. private void GuildLevelListcomboBox_SelectedIndexChanged(object sender, EventArgs e)
  248. {
  249. if (ActiveControl != sender) return;
  250. UpdateGuildInterface();
  251. }
  252. private void GuildAddLevelbutton_Click(object sender, EventArgs e)
  253. {
  254. if (ActiveControl != sender) return;
  255. Settings.Guild_ExperienceList.Add(0);
  256. Settings.Guild_MembercapList.Add(0);
  257. GuildLevelListcomboBox.Items.Add(Settings.Guild_ExperienceList.Count - 1);
  258. GuildLevelListcomboBox.SelectedIndex = Settings.Guild_ExperienceList.Count - 1;
  259. UpdateGuildInterface();
  260. GuildsChanged = true;
  261. }
  262. private void GuildDeleteLevelbutton_Click(object sender, EventArgs e)
  263. {
  264. if (ActiveControl != sender) return;
  265. if (MessageBox.Show("Are you sure you want to delete the last index?", "Delete?", MessageBoxButtons.YesNo) != DialogResult.Yes) return;
  266. GuildLevelListcomboBox.Items.RemoveAt(Settings.Guild_ExperienceList.Count - 1);
  267. Settings.Guild_ExperienceList.RemoveAt(Settings.Guild_ExperienceList.Count - 1);
  268. Settings.Guild_MembercapList.RemoveAt(Settings.Guild_MembercapList.Count - 1);
  269. UpdateGuildInterface();
  270. GuildsChanged = true;
  271. }
  272. private void GuildExpNeededtextBox_TextChanged(object sender, EventArgs e)
  273. {
  274. if (ActiveControl != sender) return;
  275. if (GuildLevelListcomboBox.SelectedItem == null) return;
  276. if (!long.TryParse(ActiveControl.Text, out long temp))
  277. {
  278. ActiveControl.BackColor = Color.Red;
  279. return;
  280. }
  281. ActiveControl.BackColor = SystemColors.Window;
  282. Settings.Guild_ExperienceList[GuildLevelListcomboBox.SelectedIndex] = temp;
  283. UpdateGuildInterface();
  284. GuildsChanged = true;
  285. }
  286. private void GuildMemberCaptextBox_TextChanged(object sender, EventArgs e)
  287. {
  288. if (ActiveControl != sender) return;
  289. if (GuildLevelListcomboBox.SelectedItem == null) return;
  290. if (!int.TryParse(ActiveControl.Text, out int temp))
  291. {
  292. ActiveControl.BackColor = Color.Red;
  293. return;
  294. }
  295. ActiveControl.BackColor = SystemColors.Window;
  296. Settings.Guild_MembercapList[GuildLevelListcomboBox.SelectedIndex] = temp;
  297. UpdateGuildInterface();
  298. GuildsChanged = true;
  299. }
  300. private void WarLengthTextBox_TextChanged(object sender, EventArgs e)
  301. {
  302. if (ActiveControl != sender) return;
  303. if (!long.TryParse(ActiveControl.Text, out long temp))
  304. {
  305. ActiveControl.BackColor = Color.Red;
  306. return;
  307. }
  308. ActiveControl.BackColor = SystemColors.Window;
  309. Settings.Guild_WarTime = temp;
  310. GuildsChanged = true;
  311. }
  312. private void WarCostTextBox_TextChanged(object sender, EventArgs e)
  313. {
  314. if (ActiveControl != sender) return;
  315. if (!uint.TryParse(ActiveControl.Text, out uint temp))
  316. {
  317. ActiveControl.BackColor = Color.Red;
  318. return;
  319. }
  320. ActiveControl.BackColor = SystemColors.Window;
  321. Settings.Guild_WarCost = temp;
  322. GuildsChanged = true;
  323. }
  324. private bool IsValid(ref byte input, object sender)
  325. {
  326. if (ActiveControl != sender) return false;
  327. if (SelectedBuff == null) return false;
  328. if (!byte.TryParse(ActiveControl.Text, out input))
  329. {
  330. ActiveControl.BackColor = Color.Red;
  331. return false;
  332. }
  333. return true;
  334. }
  335. private bool IsValid(ref uint input, object sender)
  336. {
  337. if (ActiveControl != sender) return false;
  338. if (SelectedBuff == null) return false;
  339. if (!uint.TryParse(ActiveControl.Text, out input))
  340. {
  341. ActiveControl.BackColor = Color.Red;
  342. return false;
  343. }
  344. return true;
  345. }
  346. private bool IsValid(ref int input, object sender)
  347. {
  348. if (ActiveControl != sender) return false;
  349. if (SelectedBuff == null) return false;
  350. if (!int.TryParse(ActiveControl.Text, out input))
  351. {
  352. ActiveControl.BackColor = Color.Red;
  353. return false;
  354. }
  355. return true;
  356. }
  357. private void BuffAdd_Click(object sender, EventArgs e)
  358. {
  359. int Index = 0;
  360. for (int i = 0; i < Settings.Guild_BuffList.Count; i++)
  361. if (Index < Settings.Guild_BuffList[i].Id)
  362. Index = Settings.Guild_BuffList[i].Id;
  363. GuildBuffInfo NewBuff = new GuildBuffInfo
  364. {
  365. Id = ++Index,
  366. Name = "Buff " + Index.ToString()
  367. };
  368. Settings.Guild_BuffList.Add(NewBuff);
  369. BuffList.Items.Add(NewBuff);
  370. GuildsChanged = true;
  371. }
  372. private void BuffDelete_Click(object sender, EventArgs e)
  373. {
  374. if (BuffList.SelectedItem == null) return;
  375. if (MessageBox.Show("Are you sure you want to remove the selected guildbuff?", "Remove guildbuff?", MessageBoxButtons.YesNo) != DialogResult.Yes) return;
  376. Settings.Guild_BuffList.Remove((GuildBuffInfo)BuffList.SelectedItem);
  377. BuffList.Items.RemoveAt(BuffList.SelectedIndex);
  378. GuildsChanged = true;
  379. UpdateGuildInterface();
  380. }
  381. private void BufftxtName_TextChanged(object sender, EventArgs e)
  382. {
  383. if (ActiveControl != sender) return;
  384. if (SelectedBuff == null) return;
  385. if ((ActiveControl.Text == "") || (ActiveControl.Text.Length > 20))
  386. {
  387. ActiveControl.BackColor = Color.Red;
  388. return;
  389. }
  390. ActiveControl.BackColor = SystemColors.Window;
  391. SelectedBuff.Name = ActiveControl.Text;
  392. GuildsChanged = true;
  393. }
  394. private void BuffList_SelectedIndexChanged(object sender, EventArgs e)
  395. {
  396. UpdateGuildInterface();
  397. }
  398. private void BuffTxtLevelReq_TextChanged(object sender, EventArgs e)
  399. {
  400. byte temp = 0;
  401. if (!IsValid(ref temp, sender)) return;
  402. ActiveControl.BackColor = SystemColors.Window;
  403. SelectedBuff.LevelRequirement = temp;
  404. GuildsChanged = true;
  405. }
  406. private void BufftxtPointsReq_TextChanged(object sender, EventArgs e)
  407. {
  408. byte temp = 0;
  409. if (!IsValid(ref temp, sender)) return;
  410. ActiveControl.BackColor = SystemColors.Window;
  411. SelectedBuff.PointsRequirement = temp;
  412. GuildsChanged = true;
  413. }
  414. private void BufftxtTimeLimit_TextChanged(object sender, EventArgs e)
  415. {
  416. uint temp2 = 0;
  417. int temp = 0;
  418. if (!IsValid(ref temp2, sender) || !IsValid(ref temp, sender)) return;
  419. ActiveControl.BackColor = SystemColors.Window;
  420. SelectedBuff.TimeLimit = temp;
  421. GuildsChanged = true;
  422. }
  423. private void BufftxtActivationCost_TextChanged(object sender, EventArgs e)
  424. {
  425. uint temp2 = 0;
  426. int temp = 0;
  427. if (!IsValid(ref temp2, sender) || !IsValid(ref temp, sender)) return;
  428. ActiveControl.BackColor = SystemColors.Window;
  429. SelectedBuff.ActivationCost = temp;
  430. GuildsChanged = true;
  431. }
  432. private void BufftxtAc_TextChanged(object sender, EventArgs e)
  433. {
  434. byte temp = 0;
  435. if (!IsValid(ref temp, sender)) return;
  436. ActiveControl.BackColor = SystemColors.Window;
  437. SelectedBuff.Stats[Stat.MaxAC] = temp;
  438. GuildsChanged = true;
  439. }
  440. private void BufftxtMac_TextChanged(object sender, EventArgs e)
  441. {
  442. byte temp = 0;
  443. if (!IsValid(ref temp, sender)) return;
  444. ActiveControl.BackColor = SystemColors.Window;
  445. SelectedBuff.Stats[Stat.MaxMAC] = temp;
  446. GuildsChanged = true;
  447. }
  448. private void BufftxtDc_TextChanged(object sender, EventArgs e)
  449. {
  450. byte temp = 0;
  451. if (!IsValid(ref temp, sender)) return;
  452. ActiveControl.BackColor = SystemColors.Window;
  453. SelectedBuff.Stats[Stat.MaxDC] = temp;
  454. GuildsChanged = true;
  455. }
  456. private void BufftxtMc_TextChanged(object sender, EventArgs e)
  457. {
  458. byte temp = 0;
  459. if (!IsValid(ref temp, sender)) return;
  460. ActiveControl.BackColor = SystemColors.Window;
  461. SelectedBuff.Stats[Stat.MaxMC] = temp;
  462. GuildsChanged = true;
  463. }
  464. private void BufftxtSc_TextChanged(object sender, EventArgs e)
  465. {
  466. byte temp = 0;
  467. if (!IsValid(ref temp, sender)) return;
  468. ActiveControl.BackColor = SystemColors.Window;
  469. SelectedBuff.Stats[Stat.MaxSC] = temp;
  470. GuildsChanged = true;
  471. }
  472. private void BufftxtAttack_TextChanged(object sender, EventArgs e)
  473. {
  474. byte temp = 0;
  475. if (!IsValid(ref temp, sender)) return;
  476. ActiveControl.BackColor = SystemColors.Window;
  477. SelectedBuff.Stats[Stat.AttackBonus] = temp;
  478. GuildsChanged = true;
  479. }
  480. private void BufftxtMaxHp_TextChanged(object sender, EventArgs e)
  481. {
  482. byte temp = 0;
  483. if (!IsValid(ref temp, sender)) return;
  484. ActiveControl.BackColor = SystemColors.Window;
  485. SelectedBuff.Stats[Stat.HP] = temp;
  486. GuildsChanged = true;
  487. }
  488. private void BufftxtMaxMp_TextChanged(object sender, EventArgs e)
  489. {
  490. byte temp = 0;
  491. if (!IsValid(ref temp, sender)) return;
  492. ActiveControl.BackColor = SystemColors.Window;
  493. SelectedBuff.Stats[Stat.MP] = temp;
  494. GuildsChanged = true;
  495. }
  496. private void BufftxtHpRegen_TextChanged(object sender, EventArgs e)
  497. {
  498. byte temp = 0;
  499. if (!IsValid(ref temp, sender)) return;
  500. ActiveControl.BackColor = SystemColors.Window;
  501. SelectedBuff.Stats[Stat.HealthRecovery] = temp;
  502. GuildsChanged = true;
  503. }
  504. private void BufftxtMpRegen_TextChanged(object sender, EventArgs e)
  505. {
  506. byte temp = 0;
  507. if (!IsValid(ref temp, sender)) return;
  508. ActiveControl.BackColor = SystemColors.Window;
  509. SelectedBuff.Stats[Stat.SpellRecovery] = temp;
  510. GuildsChanged = true;
  511. }
  512. private void BufftxtMineRate_TextChanged(object sender, EventArgs e)
  513. {
  514. byte temp = 0;
  515. if (!IsValid(ref temp, sender)) return;
  516. ActiveControl.BackColor = SystemColors.Window;
  517. SelectedBuff.Stats[Stat.MineRatePercent] = temp;
  518. GuildsChanged = true;
  519. }
  520. private void BufftxtGemRate_TextChanged(object sender, EventArgs e)
  521. {
  522. byte temp = 0;
  523. if (!IsValid(ref temp, sender)) return;
  524. ActiveControl.BackColor = SystemColors.Window;
  525. SelectedBuff.Stats[Stat.GemRatePercent] = temp;
  526. GuildsChanged = true;
  527. }
  528. private void BufftxtFishRate_TextChanged(object sender, EventArgs e)
  529. {
  530. byte temp = 0;
  531. if (!IsValid(ref temp, sender)) return;
  532. ActiveControl.BackColor = SystemColors.Window;
  533. SelectedBuff.Stats[Stat.FishRatePercent] = temp;
  534. GuildsChanged = true;
  535. }
  536. private void BufftxtExpRate_TextChanged(object sender, EventArgs e)
  537. {
  538. byte temp = 0;
  539. if (!IsValid(ref temp, sender)) return;
  540. ActiveControl.BackColor = SystemColors.Window;
  541. SelectedBuff.Stats[Stat.ExpRatePercent] = temp;
  542. GuildsChanged = true;
  543. }
  544. private void BufftxtCraftRate_TextChanged(object sender, EventArgs e)
  545. {
  546. byte temp = 0;
  547. if (!IsValid(ref temp, sender)) return;
  548. ActiveControl.BackColor = SystemColors.Window;
  549. SelectedBuff.Stats[Stat.CraftRatePercent] = temp;
  550. GuildsChanged = true;
  551. }
  552. private void BufftxtSkillRate_TextChanged(object sender, EventArgs e)
  553. {
  554. byte temp = 0;
  555. if (!IsValid(ref temp, sender)) return;
  556. ActiveControl.BackColor = SystemColors.Window;
  557. SelectedBuff.Stats[Stat.SkillGainMultiplier] = temp;
  558. GuildsChanged = true;
  559. }
  560. private void BufftxtDropRate_TextChanged(object sender, EventArgs e)
  561. {
  562. byte temp = 0;
  563. if (!IsValid(ref temp, sender)) return;
  564. ActiveControl.BackColor = SystemColors.Window;
  565. SelectedBuff.Stats[Stat.ItemDropRatePercent] = temp;
  566. GuildsChanged = true;
  567. }
  568. private void BufftxtGoldRate_TextChanged(object sender, EventArgs e)
  569. {
  570. byte temp = 0;
  571. if (!IsValid(ref temp, sender)) return;
  572. ActiveControl.BackColor = SystemColors.Window;
  573. SelectedBuff.Stats[Stat.GoldDropRatePercent] = temp;
  574. GuildsChanged = true;
  575. }
  576. private void bufftxtIcon_TextChanged(object sender, EventArgs e)
  577. {
  578. uint temp2 = 0;
  579. int temp = 0;
  580. if (!IsValid(ref temp2, sender) || !IsValid(ref temp, sender)) return;
  581. ActiveControl.BackColor = SystemColors.Window;
  582. SelectedBuff.Icon = temp;
  583. GuildsChanged = true;
  584. }
  585. #region GT
  586. private void GTPriceBox_TextChanged(object sender, EventArgs e)
  587. {
  588. if (ActiveControl != sender) return;
  589. if (!int.TryParse(ActiveControl.Text, out int temp))
  590. {
  591. ActiveControl.BackColor = Color.Red;
  592. return;
  593. }
  594. ActiveControl.BackColor = SystemColors.Window;
  595. Settings.BuyGTGold = temp;
  596. GuildsChanged = true;
  597. }
  598. private void GTExtendPriceBox_TextChanged(object sender, EventArgs e)
  599. {
  600. if (ActiveControl != sender) return;
  601. if (!int.TryParse(ActiveControl.Text, out int temp))
  602. {
  603. ActiveControl.BackColor = Color.Red;
  604. return;
  605. }
  606. ActiveControl.BackColor = SystemColors.Window;
  607. Settings.ExtendGT = temp;
  608. GuildsChanged = true;
  609. }
  610. private void GTDurationBox_TextChanged(object sender, EventArgs e)
  611. {
  612. if (ActiveControl != sender) return;
  613. if (!int.TryParse(ActiveControl.Text, out int temp))
  614. {
  615. ActiveControl.BackColor = Color.Red;
  616. return;
  617. }
  618. ActiveControl.BackColor = SystemColors.Window;
  619. Settings.GTDays = temp;
  620. GuildsChanged = true;
  621. }
  622. #endregion
  623. }
  624. }