public static IReadOnlyCollection <Item> GetDIYItems(IReadOnlyList <string> split, string lang) { if (split.Count > 1 && split[0].Length < 3) { var langIndex = GameLanguage.GetLanguageIndex(split[0]); lang = GameLanguage.Language2Char(langIndex); split = split.Skip(1).ToArray(); } var result = new Item[split.Count]; for (int i = 0; i < result.Length; i++) { var text = split[i].Trim(); var item = ItemUtil.GetItem(text, lang); if (!InvertedRecipeDictionary.TryGetValue(item.ItemId, out var diy)) { throw new Exception($"DIY recipe appears to be invalid ({text})."); } result[i] = new Item(Item.DIYRecipe) { Count = diy }; } return(result); }
public static IReadOnlyCollection <Item> GetItems(IReadOnlyList <string> split, IConfigItem config, bool placeFloor, string lang) { if (split.Count > 1 && split[0].Length < 3) { var langIndex = GameLanguage.GetLanguageIndex(split[0]); lang = GameLanguage.Language2Char(langIndex); split = split.Skip(1).ToArray(); } var strings = GameInfo.Strings.itemlistdisplay; var result = new Item[split.Count]; for (int i = 0; i < result.Length; i++) { var text = split[i].Trim(); var item = CreateItem(text, i, config, placeFloor, lang); if (item.ItemId >= strings.Length) { throw new Exception($"Item requested is out of expected range ({item.ItemId:X4} > {strings.Length:X4})."); } if (string.IsNullOrWhiteSpace(strings[item.ItemId])) { throw new Exception($"Item requested does not have a valid name ({item.ItemId:X4})."); } result[i] = item; } return(result); }
public Editor(HorizonSave file) { InitializeComponent(); SAV = file; LoadPlayers(); Villagers = LoadVillagers(); var lang = Settings.Default.Language; var index = GameLanguage.GetLanguageIndex(lang); Menu_Language.SelectedIndex = index; // triggers translation // this.TranslateInterface(GameInfo.CurrentLanguage); Text = SAV.GetSaveTitle("NHSE"); }
/// <summary> /// Gets the Game Strings for a specific language. /// </summary> /// <param name="lang">2 character language ID</param> public static GameStrings GetStrings(string lang) { int index = GameLanguage.GetLanguageIndex(lang); return(GetStrings(index)); }
public GameStrings(string l) { lang = l; LanguageIndex = GameLanguage.GetLanguageIndex(l); ribbons = Get("ribbons"); // Past Generation strings g3items = Get("ItemsG3"); g3coloitems = GetG3CXD(g3items, "ItemsG3Colosseum"); g3xditems = GetG3CXD(g3items, "ItemsG3XD"); g2items = Get("ItemsG2"); g1items = Get("ItemsG1"); metRSEFRLG_00000 = Get("rsefrlg_00000"); metGSC_00000 = Get("gsc_00000"); metCXD_00000 = Get("cxd_00000"); SanitizeMetStringsCXD(metCXD_00000); // Current Generation strings natures = Util.GetNaturesList(l); types = Get("types"); abilitylist = Get("abilities"); movelist = Get("moves"); string[] ps = { "P", "S" }; // Distinguish Physical/Special for (int i = 622; i < 658; i++) { movelist[i] += $" ({ps[i % 2]})"; } itemlist = Get("items"); characteristics = Get("character"); specieslist = Get("species"); wallpapernames = Get("wallpaper"); groundtiletypes = Get("groundtile"); gamelist = Get("games"); balllist = new string[Items_Ball.Length]; for (int i = 0; i < balllist.Length; i++) { balllist[i] = itemlist[Items_Ball[i]]; } pokeblocks = Get("pokeblock"); forms = Get("forms"); memories = Get("memories"); feeling6 = Get("feeling6"); feeling8 = Get("feeling"); intensity = Get("intensity"); genloc = Get("genloc"); trainingbags = Get("trainingbag"); trainingstage = Get("supertraining"); puffs = Get("puff"); walkercourses = Get("hgss_walkercourses"); uggoods = Get("dppt_uggoods"); ugspheres = Get("dppt_ugspheres"); ugtraps = Get("dppt_ugtraps"); ugtreasures = Get("dppt_ugtreasures"); EggName = specieslist[0]; metHGSS_00000 = Get("hgss_00000"); metHGSS_02000 = Get("hgss_02000"); metHGSS_03000 = Get("hgss_03000"); metBW2_00000 = Get("bw2_00000"); metBW2_30000 = Get("bw2_30000"); metBW2_40000 = Get("bw2_40000"); metBW2_60000 = Get("bw2_60000"); metXY_00000 = Get("xy_00000"); metXY_30000 = Get("xy_30000"); metXY_40000 = Get("xy_40000"); metXY_60000 = Get("xy_60000"); metSM_00000 = Get("sm_00000"); metSM_30000 = Get("sm_30000"); metSM_40000 = Get("sm_40000"); metSM_60000 = Get("sm_60000"); metGG_00000 = Get("gg_00000"); metGG_30000 = metSM_30000; metGG_40000 = Get("gg_40000"); metGG_60000 = metSM_60000; metSWSH_00000 = Get("swsh_00000"); metSWSH_30000 = Get("swsh_30000"); metSWSH_40000 = Get("swsh_40000"); metSWSH_60000 = Get("swsh_60000"); metLA_00000 = Get("la_00000"); metLA_30000 = Get("la_30000"); metLA_40000 = Get("la_40000"); metLA_60000 = Get("la_60000"); metBDSP_00000 = Get("bdsp_00000"); metBDSP_30000 = Get("bdsp_30000"); metBDSP_40000 = Get("bdsp_40000"); metBDSP_60000 = Get("bdsp_60000"); Sanitize(); g4items = (string[])itemlist.Clone(); Get("mail4").CopyTo(g4items, 137); }