public static void SaveUnlock(ICLIFlags flags, Unlock unlock, string path, string eventKey, Dictionary <string, ParsedArg> config, Dictionary <string, TagExpectedValue> tags, VoiceSet voiceSet, STUHero hero) { string rarity; if (tags != null) { if (unlock.STU.m_0B1BA7C1 == null) { rarity = unlock.Rarity.ToString(); tags["leagueTeam"] = new TagExpectedValue("none"); } else { TeamDefinition teamDef = new TeamDefinition(unlock.STU.m_0B1BA7C1); tags["leagueTeam"] = new TagExpectedValue(teamDef.Abbreviation, // NY teamDef.Location, // New York teamDef.Name, // Excelsior teamDef.FullName, // New York Excelsior (teamDef.Division == Enum_5A789F71.None && teamDef.Abbreviation == null) ? "none" : "*", "*"); // all // nice file structure rarity = ""; eventKey = "League"; } tags["rarity"] = new TagExpectedValue(unlock.Rarity.ToString()); tags["special"] = new TagExpectedValue(unlock.Tag ?? "none"); } else { rarity = ""; // for general unlocks } var eventMap = GetEventConfig(); if (unlock.STU.m_BEE9BCDA != null) { var formalEventKey = unlock.STU.m_BEE9BCDA.FirstOrDefault(x => eventMap.ContainsKey(x)); if (eventMap.ContainsKey(formalEventKey)) { eventKey = eventMap[formalEventKey]; } } string thisPath = Path.Combine(path, unlock.GetTypeNameEnum(), eventKey, rarity, GetValidFilename(unlock.GetName())); if (ShouldDo(unlock, config, tags, typeof(STUUnlock_SprayPaint))) { SprayAndIcon.Save(flags, thisPath, unlock); } if (ShouldDo(unlock, config, tags, typeof(STUUnlock_AvatarPortrait))) { SprayAndIcon.Save(flags, thisPath, unlock); } if (ShouldDo(unlock, config, tags, typeof(STUUnlock_POTGAnimation))) { AnimationItem.Save(flags, thisPath, unlock); } if (ShouldDo(unlock, config, tags, typeof(STUUnlock_Emote))) { AnimationItem.Save(flags, thisPath, unlock); } if (ShouldDo(unlock, config, tags, typeof(STUUnlock_Pose))) { AnimationItem.Save(flags, thisPath, unlock); } if (ShouldDo(unlock, config, tags, typeof(STUUnlock_VoiceLine))) { VoiceLine.Save(flags, thisPath, unlock, voiceSet); } if (ShouldDo(unlock, config, tags, typeof(STUUnlock_SkinTheme))) { SkinTheme.Save(flags, thisPath, unlock, hero); } if (ShouldDo(unlock, config, tags, typeof(STUUnlock_PortraitFrame))) { thisPath = Path.Combine(path, unlock.Type); PortraitFrame.Save(flags, thisPath, unlock); } }