public BaseItem(TaggedItemsList itemList) : base(itemList) { ConvertItem <List <Property> >("Tags", x => Tags = x.Select(x => (x.Value as FName)?.Name.Value).ToArray()); ConvertItem <FName>("HandPosition", x => HandPosition = x.Name); ConvertItem <FName>("Role", x => Role = x.Name); ConvertItem <FName>("Rarity", x => Rarity = x.Name); ConvertItem <bool>("Inventory", x => Inventory = x); ConvertItem <bool>("Chest", x => Chest = x); ConvertItem <FName>("RequiredKillerAbility", x => RequiredKillerAbility = x.Name); ConvertItem <bool>("IsInNonViolentBuild", x => IsInNonViolentBuild = x); ConvertItem <bool>("IsAvailableInAtlantaBuild", x => IsAvailableInAtlantaBuild = x); ConvertItem <bool>("AntiDLC", x => AntiDLC = x); ConvertItem <bool>("Bloodweb", x => BloodWeb = x); ConvertItem <FName>("ID", x => Id = x.Name); ConvertItem <FName>("Type", x => Type = x.Name); ConvertItem <TaggedObject>("UIData", x => { var item = x.Vars.FirstOrDefault(x => x.Key == "DisplayName"); if (!item.Equals(default) && (item.Value.Value is FText displayName)) { DisplayName = displayName.ToString(); } item = x.Vars.FirstOrDefault(x => x.Key == "Description"); if (!item.Equals(default) && (item.Value.Value is FText description))
public CharacterInfo(TaggedItemsList itemList) : base(itemList) { ConvertItem <int>("CharacterIndex", x => CharacterIndex = x); ConvertItem <FName>("Role", x => Role = x.Name); ConvertItem <FName>("Difficulty", x => Difficulty = x.Name); ConvertItem <FText>("DisplayName", x => DisplayName = x.ToString()); ConvertItem <FText>("BackStory", x => Backstory = x.ToString()); ConvertItem <FText>("Biography", x => Biography = x.ToString()); ConvertItem <FString>("RequiredDlcIDString", x => RequiredDlcIdString = x.Value); ConvertItem <FName>("IdName", x => IdName = x.Name); ConvertItem <bool>("IsAvailableInNonViolentBuild", x => IsAvailableInNonViolentBuild = x); ConvertItem <bool>("IsAvailableInAtlantaBuild", x => IsAvailableInAtlantaBuild = x); ConvertItem <uint>("PlatformExclusiveFlag", x => PlatformExclusiveFlag = x); ConvertItem <FName>("DefaultItem", x => DefaultItem = x.Name); ConvertItem <FName>("Gender", x => Gender = x.Name); ConvertItem <FName>("KillerHeight", x => KillerHeight = x.Name); ConvertItem <FName>("IconFilePath", x => IconPath = x.Name); ConvertItem <FName>("BackgroundImagePath", x => BackgroundPath = x.Name); ConvertItem <List <Property> >("KillerAbilities", x => KillerAbilities = x.Select(y => ((FName)y.Value).Name.Value).ToArray()); ConvertItem <TaggedObject>("SlideShowDescriptions", x => { var overviewStr = ""; var playStyleStr = ""; var item = x.Vars.FirstOrDefault(y => y.Key == "Overview"); if (!item.Equals(default) && item.Value.Value is FText overview) { overviewStr = overview.ToString(); } item = x.Vars.FirstOrDefault(y => y.Key == "Playstyle"); if (!item.Equals(default) && item.Value.Value is FText playStyle)
public CustomItemInfo(TaggedItemsList itemList) : base(itemList) { ConvertItem <FName>("ID", x => Id = x.Name); ConvertItem <FName>("Category", x => Category = x.Name); ConvertItem <FName>("Rarity", x => Rarity = x.Name); ConvertItem <FName>("AssociatedRole", x => AssociatedRole = x.Name); ConvertItem <FText>("CollectionName", x => CollectionName = x.ToString()); ConvertItem <FText>("CollectionDescription", x => CollectionDescription = x.ToString()); ConvertItem <uint>("PlatformExclusiveFlag", x => PlatformExclusiveFlag = x); ConvertItem <int>("AssociatedCharacter", x => AssociatedCharacter = x); ConvertItem <int>("PrestigeUnlockLevel", x => PrestigeUnlockLevel = x); ConvertItem <FString>("PrestigeUnlockDate", x => PrestigeUnlockDate = x.Value); ConvertItem <bool>("ItemIsInStore", x => ItemIsInStore = x); ConvertItem <bool>("IsNonVioletBuild", x => IsNonVioletBuild = x); ConvertItem <bool>("IsAvailableInAtlantaBuild", x => IsAvailableInAtlantaBuild = x); ConvertItem <TaggedObject>("UIData", x => { var item = x.Vars.FirstOrDefault(x => x.Key == "DisplayName"); if (!item.Equals(default) && (item.Value.Value is FText displayName)) { DisplayName = displayName.ToString(); } item = x.Vars.FirstOrDefault(x => x.Key == "Description"); if (!item.Equals(default) && (item.Value.Value is FText description))
public MapInfo(TaggedItemsList itemList) : base(itemList) { ConvertItem <FName>("MapId", x => MapId = x.Name); ConvertItem <FText>("Name", x => Name = x.ToString()); ConvertItem <FText>("ThemeName", x => ThemeName = x.ToString()); ConvertItem <FText>("Description", x => Description = x.ToString()); ConvertItem <FString>("ThumbnailPath", x => ThumbnailPath = x.Value); ConvertItem <FString>("DlcIDString", x => DlcIDString = x.ToString()); ConvertItem <bool>("IsInNonViolentBuild", x => IsInNonViolentBuild = x); ConvertItem <int>("SortingIndex", x => SortingIndex = x); ConvertItem <int>("LivingWorldObjectsMaxCount", x => LivingWorldObjectsMaxCount = x); ConvertItem <int>("LivingWorldObjectsMinCount", x => LivingWorldObjectsMinCount = x); ConvertItem <int>("BookShelvesMaxCount", x => BookShelvesMaxCount = x); ConvertItem <int>("BookShelvesMinCount", x => BookShelvesMinCount = x); ConvertItem <int>("BookShelvesMinDistance", x => BookShelvesMinDistance = x); ConvertItem <int>("HookMaxCount", x => HookMaxCount = x); ConvertItem <int>("HookMinCount", x => HookMinCount = x); ConvertItem <int>("HookMinDistance", x => HookMinDistance = x); }
public TunableInfo(TaggedItemsList itemList) { Tunables = new ConcurrentDictionary <string, Tunable>(); foreach (var item in itemList) { if (item.Value == null || string.IsNullOrEmpty(item.Key)) { continue; } object value = null; object atlantaValue = null; var description = ""; var descriptorTags = ""; var overriden = false; var obj = item.Value; var temp = obj.Vars.FirstOrDefault(x => x.Key == "Value"); if (!temp.Equals(default) && temp.Value != null)
public PerkInfo(TaggedItemsList itemList) : base(itemList) { ConvertItem <int>("AssociatedPlayerIndex", x => AssociatedPlayerIndex = x); ConvertItem <int>("MandatoryOnBloodweblevel", x => MandatoryOnBloodweblevel = x); ConvertItem <int>("TeachableOnBloodweblevel", x => TeachableOnBloodweblevel = x); ConvertItem <int>("AtlantaTeachableLevel", x => AtlantaTeachableLevel = x); ConvertItem <List <Property> >("PerkCategory", x => PerkCategory = x.Select(x => (x.Value as FName)?.Name.Value).ToArray()); ConvertItem <List <Property> >("PerkLevelRarity", x => PerkLevelRarity = x.Select(x => (x.Value as FName)?.Name.Value).ToArray()); ConvertItem <FText>("PerkDefaultDescription", x => PerkDefaultDescription = x.ToString()); ConvertItem <FText>("PerkLevel1Description", x => PerkLevel1Description = x.ToString()); ConvertItem <FText>("PerkLevel2Description", x => PerkLevel2Description = x.ToString()); ConvertItem <FText>("PerkLevel3Description", x => PerkLevel3Description = x.ToString()); ConvertItem <FText>("PerkUnlicensedDescriptionOverride", x => PerkUnlicensedDescriptionOverride = x.ToString()); ConvertItem <TaggedObject>("UIData", x => { var item = x.Vars.FirstOrDefault(x => x.Key == "IconFilePathList"); if (!item.Equals(default) && (item.Value.Value is List <Property> paths)) { IconPathList = paths.Select(y => y.Value.ToString()).ToArray(); } });
public ItemAddonInfo(TaggedItemsList itemList) : base(itemList) { ConvertItem <List <Property> >("ParentItems", x => ParentItems = x.Select(x => (x.Value as FName)?.Name.Value).ToArray()); }
public OfferingInfo(TaggedItemsList itemList) : base(itemList) { ConvertItem <FName>("OfferingType", x => OfferingType = x.Name); ConvertItem <bool>("CanUseAfterEventEnd", x => CanUseAfterEventEnd = x); }
public BaseInfo(TaggedItemsList itemList) { _itemList = itemList; }