private void AddFlagsSelectedToCreature(int field) { var fieldListBox = mainForm.ObjectTypeHelper_Fields_ListBox; long npcEntry = long.Parse(mainForm.ObjectTemplateHelper_ObjEntry_TextBox.Text); if (!creatureEntries.ContainsKey(npcEntry)) { return; } if (!creatureFieldValues.ContainsKey(field)) { return; } if (fieldListBox.Items.Count > 0) { CreatureInfo currentCreature = creatureEntries[npcEntry]; long flags = GetMaskOfSelectedValuesInCheckBox(fieldListBox); if (currentCreature.Flags[field] != flags) { currentCreature.Flags[field] = flags; } } }
public CreatureInfo GetCreatureInfo(string creatureEntry) { DataSet unitFlagsDs; DataSet creatureNameDs; string unitFlagsSqlQuery = "SELECT `npcflag`, `npcflag2`, `unit_flags`, `unit_flags2`, `unit_flags3`, `mechanic_immune_mask`, `flags_extra` FROM `creature_template` WHERE `entry` = " + creatureEntry + ";"; string creatureNameQuery = "SELECT `Name1` FROM `creature_template_wdb` WHERE `entry` = " + creatureEntry + ";"; unitFlagsDs = SQLModule.DatabaseSelectQuery(unitFlagsSqlQuery); creatureNameDs = SQLModule.DatabaseSelectQuery(creatureNameQuery); if (unitFlagsDs.Tables["table"].Rows.Count == 0 || creatureNameDs.Tables["table"].Rows.Count == 0) { MessageBox.Show("Creature doesn't exists in your database!"); return(new CreatureInfo(-1)); } long npcFlags = Convert.ToInt64(unitFlagsDs.Tables["table"].Rows[0][0].ToString()); long npcFlags2 = Convert.ToInt64(unitFlagsDs.Tables["table"].Rows[0][1].ToString()); long unitFlags = Convert.ToInt64(unitFlagsDs.Tables["table"].Rows[0][2].ToString()); long unitFlags2 = Convert.ToInt64(unitFlagsDs.Tables["table"].Rows[0][3].ToString()); long unitFlags3 = Convert.ToInt64(unitFlagsDs.Tables["table"].Rows[0][4].ToString()); long mechanicMask = Convert.ToInt64(unitFlagsDs.Tables["table"].Rows[0][5].ToString()); long extraFlags = Convert.ToInt64(unitFlagsDs.Tables["table"].Rows[0][6].ToString()); string npcName = creatureNameDs.Tables["table"].Rows[0][0].ToString(); CreatureInfo creatureInfo = new CreatureInfo(long.Parse(creatureEntry), unitFlags, unitFlags2, unitFlags3, npcFlags, npcFlags2, extraFlags, mechanicMask, npcName); return(creatureInfo); }
public void FillValuesOptionListBox(int field) { var fieldListBox = mainForm.ObjectTypeHelper_Fields_ListBox; long npcEntry = long.Parse(mainForm.ObjectTemplateHelper_ObjEntry_TextBox.Text); switch (mainForm.ObjectTemplateHelper_ObjType_ComboBox.SelectedIndex) { case 0: { fieldListBox.Items.Clear(); CreatureInfo creature = creatureEntries[npcEntry]; int idx = 0; if (creature.NpcEntry == -1) { return; } foreach (var value in creatureFieldValues[field]) { long flag = 1 << idx; if (field == 6 && idx != 0) { flag = 1 << idx - 1; } idx++; fieldListBox.Items.Add(value, creature.HasFlag(field, flag)); } break; } case 1: { fieldListBox.Items.Clear(); foreach (var value in gameObjectFieldValues[field]) { mainForm.ObjectTypeHelper_Fields_ListBox.Items.Add(value, false); } break; } default: fieldListBox.Items.Clear(); break; } }
public void GenerateSQL() { mainForm.ObjectTempalte_SQLResult_RichTextBox.Clear(); int objType = mainForm.ObjectTemplateHelper_ObjType_ComboBox.SelectedIndex; string SQLText = ""; switch (objType) { case 0: { CreatureInfo creature = GetCreatureInfo(mainForm.ObjectTemplateHelper_ObjEntry_TextBox.Text); if (creature.NpcEntry == -1) { return; } foreach (var npc in creatureEntries) { string query = "-- " + npc.Value.NpcName + "\r\n"; object[] fields = { npc.Value.Flags[0], npc.Value.Flags[1], npc.Value.Flags[2], npc.Value.Flags[3], npc.Value.Flags[4], npc.Value.Flags[5], npc.Value.Flags[6] }; query += String.Format("UPDATE `creature_template` set `unit_flags` = {0}, `unit_flags2` = {1}," + "unit_flags3` = {2}, `npcFlags` = {3}, `npcFlags2` = {4}, `flags_extra` = {5}, `mechanic_immune_mask` = {6} ", fields); query += " WHERE `entry` = " + npc.Key.ToString() + "; \n\n"; SQLText += query; } break; } } mainForm.ObjectTempalte_SQLResult_RichTextBox.AppendText(SQLText); MessageBox.Show("SQL Queries Generated"); }
public void CheckObjectInfo() { int objType = mainForm.ObjectTemplateHelper_ObjType_ComboBox.SelectedIndex; mainForm.ObjectTypeHelper_Fields_ListBox.Items.Clear(); switch (objType) { case 0: { CreatureInfo creature = GetCreatureInfo(mainForm.ObjectTemplateHelper_ObjEntry_TextBox.Text); EnableLockedItems(creature.NpcEntry != -1); if (creature.NpcEntry == -1) { return; } FillObjectFieldsComboxBox(objType); if (!creatureEntries.ContainsKey(creature.NpcEntry)) { creatureEntries.Add(creature.NpcEntry, creature); } break; } case 1: { break; } default: break; } }