public static Models.ClassSpec Load(GomObject obj) { Models.ClassSpec spec = new Models.ClassSpec(); spec.NodeId = obj.Id; spec.Fqn = obj.Name; spec.IsPlayerClass = obj.Name.StartsWith("class.pc."); spec.AbilityPackageId = obj.Data.ValueOrDefault <ulong>("field_4000000A1D72EA3A", 0); spec.AlignmentDark = (int)obj.Data.ValueOrDefault <float>("field_40000006A071472E", 0); spec.AlignmentLight = (int)obj.Data.ValueOrDefault <float>("field_40000006A071472D", 0); spec.Icon = obj.Data.ValueOrDefault <string>("chrClassDataIcon", null); spec.NameId = obj.Data.ValueOrDefault <long>("chrClassDataNameId", 0); // Index into str.gui.classnames spec.Id = (int)spec.NameId; spec.Name = classNames.GetText(spec.NameId, obj.Name); if (String.IsNullOrEmpty(spec.Name)) { spec.Name = obj.Data.ValueOrDefault <string>("chrClassDataName", null); } idMap[obj.Id] = spec; nameMap[obj.Name] = spec; spec.AbilityPackage = AbilityPackageLoader.Load(spec.AbilityPackageId); return(spec); }
public static Conversation Load(Conversation cnv, GomObject obj) { if (obj == null) { return(null); } if (cnv == null) { return(null); } cnv.Fqn = obj.Name; // cnv.Id = var dialogNodeMap = obj.Data.Get <Dictionary <object, object> >("cnvTreeDialogNodes_Prototype"); foreach (var dialogKvp in dialogNodeMap) { var dialogNode = LoadDialogNode(cnv, (GomObjectData)dialogKvp.Value); cnv.DialogNodes.Add(dialogNode); cnv.NodeLookup[dialogNode.NodeId] = dialogNode; cnv.QuestStarted.AddRange(dialogNode.QuestsGranted); cnv.QuestEnded.AddRange(dialogNode.QuestsEnded); cnv.QuestProgressed.AddRange(dialogNode.QuestsProgressed); } return(cnv); }
private static void LoadData() { GomObject table = DataObjectModel.GetObject(itmModifierPackageTablePrototypePath); Dictionary <object, object> tableData = table.Data.Get <Dictionary <object, object> >("itmModifierPackages"); item_modpkgprototype_data = new Dictionary <long, Dictionary <string, object> >(); foreach (var kvp in tableData) { long modId = (long)kvp.Key; Dictionary <string, object> map = (Dictionary <string, object>)((GomLib.GomObjectData)kvp.Value).Dictionary; item_modpkgprototype_data[modId] = map; //List<List<int>> qData = new List<List<int>>(); /*foreach (List<object> stats in qlist) * { * var lvlData = new List<int>(); * foreach (long stat in stats) * { * lvlData.Add((int)stat); * } * qData.Add(lvlData); * }*/ //item_modpkgprototype_data.Add((int)quality, qData); } }
public static Models.Encounter Load(Models.Encounter enc, GomObject obj) { if (obj == null) { return(null); } if (enc == null) { return(null); } enc.Fqn = obj.Name; enc.NodeId = obj.Id; enc.Spawners = new Dictionary <string, string>(); if (obj.Data.ContainsKey("spnEncounterSpawnerIdsToFqns")) { Dictionary <object, object> spawnerIdToFqn = obj.Data.ValueOrDefault <Dictionary <object, object> >("spnEncounterSpawnerIdsToFqns", null); foreach (var kvp in spawnerIdToFqn) { enc.Spawners.Add(kvp.Key.ToString().ToLower(), kvp.Value.ToString()); } } ulong hydraScriptId = obj.Data.ValueOrDefault <ulong>("field_4000000A4FA14A26", 0); if (hydraScriptId > 0) { //enc.HydraScript = HydraScriptLoader.Load(hydraScriptId); } return(enc); }
public static Models.AbilityPackage Load(GomObject obj) { if (obj == null) { return(null); } if (nameMap.ContainsKey(obj.Name)) { return(nameMap[obj.Name]); } Models.AbilityPackage pkg = new Models.AbilityPackage(); pkg.Id = obj.Name; pkg.NodeId = obj.Id; IDictionary <object, object> ablList = obj.Data.ValueOrDefault <IDictionary <object, object> >("ablPackageAbilitiesList", null); if (ablList != null) { PackageAbilityLoader pkgAblLoader = new PackageAbilityLoader(); foreach (var kvp in ablList) { // Load PackageAbility from kvp.Value var pkgAbl = pkgAblLoader.Load((GomObjectData)kvp.Value); // Add PackageAbility to pkg pkg.PackageAbilities.Add(pkgAbl); } } nameMap[obj.Name] = pkg; idMap[obj.Id] = pkg; return(pkg); }
public static Models.Quest Load(Models.Quest qst, GomObject obj) { if (obj == null) { return(qst); } if (qst == null) { return(null); } qst.Fqn = obj.Name; qst.NodeId = obj.Id; var textMap = (Dictionary <object, object>)obj.Data.ValueOrDefault <Dictionary <object, object> >("locTextRetrieverMap", null); qst.TextLookup = textMap; long questGuid = obj.Data.ValueOrDefault <long>("qstQuestDefinitionGUID", 0); qst.Id = (ulong)(questGuid >> 32); qst.RequiredLevel = (int)obj.Data.ValueOrDefault <long>("qstReqMinLevel", 0); qst.IsRepeatable = obj.Data.ValueOrDefault <bool>("qstIsRepeatable", false); qst.XpLevel = (int)obj.Data.ValueOrDefault <long>("qstXpLevel", 0); qst.Difficulty = QuestDifficultyExtensions.ToQuestDifficulty((ScriptEnum)obj.Data.ValueOrDefault <ScriptEnum>("qstDifficulty", null)); qst.CanAbandon = obj.Data.ValueOrDefault <bool>("qstAllowAbandonment", false); qst.Icon = obj.Data.ValueOrDefault <string>("qstMissionIcon", null); qst.IsHidden = obj.Data.ValueOrDefault <bool>("qstIsHiddenQuest", false); qst.IsClassQuest = obj.Data.ValueOrDefault <bool>("qstIsClassQuest", false); qst.IsBonus = obj.Data.ValueOrDefault <bool>("qstIsBonusQuest", false); qst.BonusShareable = obj.Data.ValueOrDefault <bool>("qstIsBonusQuestShareable", false); qst.CategoryId = obj.Data.ValueOrDefault <long>("qstCategoryDisplayName", 0); qst.Category = QuestCategoryExtensions.ToQuestCategory(qst.CategoryId); LoadBranches(qst, obj); var items = (List <object>)obj.Data.ValueOrDefault <List <object> >("qstItemVariableDefinition_ProtoVarList", null); var bools = (List <object>)obj.Data.ValueOrDefault <List <object> >("qstSimpleBoolVariableDefinition_ProtoVarList", null); var strings = (List <object>)obj.Data.ValueOrDefault <List <object> >("qstStringIdVariableDefinition_ProtoVarList", null); LoadRequiredClasses(qst, obj); long nameId = questGuid + 0x58; var nameLookup = (GomObjectData)textMap[nameId]; qst.Name = StringTable.TryGetString(qst.Fqn, nameLookup); if (qst.Name.StartsWith("CUT", StringComparison.InvariantCulture)) { qst.IsHidden = true; } TorLib.Icons.AddCodex(qst.Icon); return(qst); }
public static void LoadReferences(Models.GameObject obj, GomObject gom) { var npc = (Npc)obj; ulong npcCharacterCompanionOverride = gom.Data.ValueOrDefault <ulong>("npcCharacterCompanionOverride", 0); if (npcCharacterCompanionOverride > 0) { npc.CompanionOverride = Load(npcCharacterCompanionOverride); } // No references to load }
public static Models.MapNote Load(ulong nodeId) { Models.MapNote result; if (idMap.TryGetValue(nodeId, out result)) { return(result); } GomObject obj = DataObjectModel.GetObject(nodeId); Models.MapNote mpn = new Models.MapNote(); return(Load(mpn, obj)); }
public static Models.MapNote Load(string fqn) { Models.MapNote result; if (nameMap.TryGetValue(fqn, out result)) { return(result); } GomObject obj = DataObjectModel.GetObject(fqn); Models.MapNote mpn = new Models.MapNote(); return(Load(mpn, obj)); }
public static Models.Quest Load(string fqn) { Quest result; if (nameMap.TryGetValue(fqn, out result)) { return(result); } GomObject obj = DataObjectModel.GetObject(fqn); Quest qst = new Quest(); return(Load(qst, obj)); }
public static Models.AdvancedClass Load(GomObject obj) { Models.AdvancedClass ac = new Models.AdvancedClass(); ac.NodeId = obj.Id; ac.Fqn = obj.Name; ac.NameId = obj.Data.ValueOrDefault <long>("chrAdvancedClassDataNameId", 0); ac.Id = (int)ac.NameId; ac.Name = classNames.GetText(StringOffset + ac.NameId, ac.Fqn); ac.Packages = new List <Models.AbilityPackage>(); ulong classSpecNodeId = obj.Data.ValueOrDefault <ulong>("chrAdvancedClassDataClassSpec", 0); ac.ClassSpec = ClassSpecLoader.Load(classSpecNodeId); return(ac); }
public static Models.Quest Load(ulong nodeId) { Quest result; if (idMap.TryGetValue(nodeId, out result)) { return(result); } GomObject obj = DataObjectModel.GetObject(nodeId); Quest qst = new Quest(); return(Load(qst, obj)); }
public static Models.Placeable Load(string fqn) { Placeable result; if (nameMap.TryGetValue(fqn, out result)) { return(result); } GomObject obj = DataObjectModel.GetObject(fqn); Placeable plc = new Placeable(); return(Load(plc, obj)); }
public static Models.Codex Load(ulong nodeId) { Codex result; if (idMap.TryGetValue(nodeId, out result)) { return(result); } GomObject obj = DataObjectModel.GetObject(nodeId); Codex cdx = new Codex(); return(Load(cdx, obj)); }
public static Models.Codex Load(string fqn) { Codex result; if (nameMap.TryGetValue(fqn, out result)) { return(result); } GomObject obj = DataObjectModel.GetObject(fqn); Codex cdx = new Codex(); return(Load(cdx, obj)); }
public static Models.Encounter Load(string fqn) { Encounter result; if (nameMap.TryGetValue(fqn, out result)) { return(result); } GomObject obj = DataObjectModel.GetObject(fqn); Encounter enc = new Encounter(); return(Load(enc, obj)); }
public static Models.Ability Load(string fqn) { Ability result; if (nameMap.TryGetValue(fqn, out result)) { return(result); } GomObject obj = DataObjectModel.GetObject(fqn); Models.Ability abl = new Ability(); return(Load(abl, obj)); }
public static Models.Ability Load(ulong nodeId) { Ability result; if (idMap.TryGetValue(nodeId, out result)) { return(result); } GomObject obj = DataObjectModel.GetObject(nodeId); Models.Ability abl = new Ability(); return(Load(abl, obj)); }
public static Models.Schematic Load(string fqn) { Schematic result; if (nameMap.TryGetValue(fqn, out result)) { return(result); } GomObject obj = DataObjectModel.GetObject(fqn); Schematic sch = new Schematic(); return(Load(sch, obj)); }
public static Models.Npc Load(ulong nodeId) { Npc result; if (idMap.TryGetValue(nodeId, out result)) { return(result); } GomObject obj = DataObjectModel.GetObject(nodeId); Npc npc = new Npc(); return(Load(npc, obj)); }
public static Models.Npc Load(string fqn) { Npc result; if (nameMap.TryGetValue(fqn, out result)) { return(result); } GomObject obj = DataObjectModel.GetObject(fqn); Npc npc = new Npc(); return(Load(npc, obj)); }
public static Models.Schematic Load(ulong nodeId) { Schematic result; if (idMap.TryGetValue(nodeId, out result)) { return(result); } GomObject obj = DataObjectModel.GetObject(nodeId); Schematic sch = new Schematic(); return(Load(sch, obj)); }
public static Placeable Load(ulong nodeId) { Placeable result; if (idMap.TryGetValue(nodeId, out result)) { return(result); } GomObject obj = DataObjectModel.GetObject(nodeId); Placeable plc = new Placeable(); return(Load(plc, obj)); }
public static Encounter Load(ulong nodeId) { Encounter result; if (idMap.TryGetValue(nodeId, out result)) { return(result); } GomObject obj = DataObjectModel.GetObject(nodeId); Encounter enc = new Encounter(); return(Load(enc, obj)); }
public static Models.Conversation Load(string fqn) { Conversation result; if (nameMap.TryGetValue(fqn, out result)) { return(result); } GomObject obj = DataObjectModel.GetObject(fqn); Conversation cnv = new Conversation(); return(Load(cnv, obj)); }
public static Models.Conversation Load(ulong nodeId) { Conversation result; if (idMap.TryGetValue(nodeId, out result)) { return(result); } GomObject obj = DataObjectModel.GetObject(nodeId); Conversation cnv = new Conversation(); return(Load(cnv, obj)); }
private static void LoadData() { GomObject table = DataObjectModel.GetObject(itmRatingsTablePath); Dictionary <object, object> tableData = table.Data.Get <Dictionary <object, object> >("itmRatings"); item_rating_data = new Dictionary <int, Dictionary <Models.ItemQuality, int> >(); foreach (var kvp in tableData) { int lvl = (int)(long)kvp.Key; var ratingData = (Dictionary <object, object>)kvp.Value; var qMap = new Dictionary <Models.ItemQuality, int>(); foreach (var qr in ratingData) { var quality = Models.ItemQualityExtensions.ToItemQuality((ScriptEnum)qr.Key); var rating = (int)(long)qr.Value; qMap.Add(quality, rating); } item_rating_data.Add(lvl, qMap); } //var rows = Utilities.ReadDataTable(itmRatingsTablePath, (row) => //{ // return new // { // Level = row.Element("level").AsInt(), // Cheap = row.Element("itmQualityCheap").AsInt(), // Standard = row.Element("itmQualityStandard").AsInt(), // Premium = row.Element("itmQualityPremium").AsInt(), // Prototype = row.Element("itmQualityPrototype").AsInt(), // Artifact = row.Element("itmQualityArtifact").AsInt(), // Legendary = row.Element("itmQualityLegendary").AsInt(), // Legacy = row.Element("itmQualityLegacy").AsInt() // }; //}); //item_rating_data = new Dictionary<int, Dictionary<Models.ItemQuality, int>>(); //foreach (var row in rows) //{ // var qMap = new Dictionary<ItemQuality, int>(); // qMap.Add(Models.ItemQuality.Cheap, row.Cheap); // qMap.Add(Models.ItemQuality.Standard, row.Standard); // qMap.Add(Models.ItemQuality.Premium, row.Premium); // qMap.Add(Models.ItemQuality.Prototype, row.Prototype); // qMap.Add(Models.ItemQuality.Artifact, row.Artifact); // qMap.Add(Models.ItemQuality.Legendary, row.Legendary); // qMap.Add(Models.ItemQuality.Legacy, row.Legacy); // qMap.Add(Models.ItemQuality.Quest, row.Quest); // item_rating_data.Add(row.Level, qMap); //} }
private static void LoadBranches(Quest qst, GomObject obj) { var branches = (List <object>)obj.Data.ValueOrDefault <List <object> >("qstBranches", null); qst.Branches = new List <QuestBranch>(); if (branches != null) { foreach (var br in branches) { var branch = QuestBranchLoader.Load((GomObjectData)br, qst); branch.Quest = qst; qst.Branches.Add(branch); } } }
public static Models.Item Load(string fqn) { Item result; if (nameMap.TryGetValue(fqn, out result)) { return(result); } GomObject obj = DataObjectModel.GetObject(fqn); if (obj == null) { return(null); } Models.Item itm = new Item(); return(Load(itm, obj)); }
public static Models.Item Load(ulong nodeId) { Item result; if (idMap.TryGetValue(nodeId, out result)) { return(result); } GomObject obj = DataObjectModel.GetObject(nodeId); if (obj == null) { return(null); } Models.Item itm = new Item(); return(Load(itm, obj)); }