// Non-WDB data but nevertheless data that should be saved to gameobject_template public static string GameobjectTemplateNonWDB(Dictionary<Guid, GameObject> gameobjects) { if (gameobjects.Count == 0) return String.Empty; var templates = new StoreDictionary<uint, GameObjectTemplateNonWDB>(); foreach (var goT in gameobjects) { if (templates.ContainsKey(goT.Key.GetEntry())) continue; var go = goT.Value; var template = new GameObjectTemplateNonWDB { Size = go.Size.GetValueOrDefault(1.0f), Faction = go.Faction.GetValueOrDefault(0), Flags = go.Flags.GetValueOrDefault(GameObjectFlag.None) }; if (template.Faction == 1 || template.Faction == 2 || template.Faction == 3 || template.Faction == 4 || template.Faction == 5 || template.Faction == 6 || template.Faction == 115 || template.Faction == 116 || template.Faction == 1610 || template.Faction == 1629 || template.Faction == 2203 || template.Faction == 2204) // player factions template.Faction = 0; template.Flags &= ~GameObjectFlag.Triggered; template.Flags &= ~GameObjectFlag.Damaged; template.Flags &= ~GameObjectFlag.Destroyed; templates.Add(goT.Key.GetEntry(), template, null); } var templatesDb = SQLDatabase.GetDict<uint, GameObjectTemplateNonWDB>(templates.Keys()); return SQLUtil.CompareDicts(templates, templatesDb, StoreNameType.GameObject); }
public static string GameobjectTemplateNonWDB(Dictionary<WowGuid, GameObject> gameobjects) { if (gameobjects.Count == 0) return string.Empty; if (!Settings.SQLOutputFlag.HasAnyFlagBit(SQLOutput.gameobject_template)) return string.Empty; var templates = new StoreDictionary<uint, GameObjectTemplateNonWDB>(); foreach (var goT in gameobjects) { if (templates.ContainsKey(goT.Key.GetEntry())) continue; var go = goT.Value; if (Settings.AreaFilters.Length > 0) if (!(go.Area.ToString(CultureInfo.InvariantCulture).MatchesFilters(Settings.AreaFilters))) continue; if (Settings.MapFilters.Length > 0) if (!(go.Map.ToString(CultureInfo.InvariantCulture).MatchesFilters(Settings.MapFilters))) continue; var template = new GameObjectTemplateNonWDB { Size = go.Size.GetValueOrDefault(1.0f), Faction = go.Faction.GetValueOrDefault(0), Flags = go.Flags.GetValueOrDefault(GameObjectFlag.None) }; if (template.Faction == 1 || template.Faction == 2 || template.Faction == 3 || template.Faction == 4 || template.Faction == 5 || template.Faction == 6 || template.Faction == 115 || template.Faction == 116 || template.Faction == 1610 || template.Faction == 1629 || template.Faction == 2203 || template.Faction == 2204) // player factions template.Faction = 0; template.Flags &= ~GameObjectFlag.Triggered; template.Flags &= ~GameObjectFlag.Damaged; template.Flags &= ~GameObjectFlag.Destroyed; templates.Add(goT.Key.GetEntry(), template); } var templatesDb = SQLDatabase.GetDict<uint, GameObjectTemplateNonWDB>(templates.Keys()); return SQLUtil.CompareDicts(templates, templatesDb, StoreNameType.GameObject); }