private string GetString(string name) { var culture = this.Culture ?? CultureInfo.CurrentUICulture; StringLocalization value = null; try { do { var query = DbContext.StringLocalizations .Where(l => l.Culture == culture.Name) .Where(l => BaseName.Contains(l.Location)) .OrderByDescending(l => l.Location.Length); value = query.FirstOrDefault(l => l.Key == name); culture = culture.Parent; } while (value == null && !string.IsNullOrEmpty(culture.Name)); } catch { } if (this.Environment.IsDevelopment()) { try { if (!DbContext.StringLocalizables.Any(l => l.Key == name && l.Location == BaseName)) { DbContext.StringLocalizables.Add(new StringLocalizable { Location = BaseName, Key = name, Description = name }); DbContext.SaveChanges(); } } catch (Exception ex) { Logger.LogWarning(ex.ToString()); } } if (value == null) { return(null); } else if (this.Environment.IsDevelopment()) { return("[" + value.Value + "]"); } else { return(value.Value); } }
public ParsedSkill(string internalname, string skillid, string stype, string category) { SkillId = skillid; sType = stype; var i = category.IndexOf(','); Category = i == -1 ? category : category.Split(',').FirstOrDefault(x => x.Length >= 5) ?? category; string cut = internalname.ToLowerInvariant().Replace("_", " "); modifiers = new List <string> { }; bool _cut = true; while (_cut) { _cut = false; foreach (string mod in allmods) { if ((mod == " blast") && cut.Contains("priest")) { continue; // fix holy shot=holy blast } if ((mod == " normal") && cut.Contains("archer")) { continue; // fix normal shot } if ((mod == " combo") && !cut.Contains("assassin")) { continue; // combo postfix - only for ninja } if ((mod == " jin") && cut.Contains("sorcerer")) { if (cut.Remove(mod, out cut)) { modifiers.Add(mod); _cut = true; break; } } if (cut.RemoveFromEnd(mod, out cut)) { modifiers.Add(mod); _cut = true; break; } } } foreach (var lvl in levels) { if (cut.Contains(lvl.Key)) { cut = cut.Replace(lvl.Key, ""); Lvl = lvl.Value; break; } } BaseName = cut; if (BaseName.Contains("assault") && BaseName.Contains("berserk")) { BaseName = BaseName + category; } //fix berserk if (modifiers.Contains(" continuous") || modifiers.Contains(" large") || modifiers.Contains(" chain") || modifiers.Contains(" short") || modifiers.Contains(" shortairreaction")) { Chained = "True"; } else { Chained = "False"; } if (modifiers.Contains(" explosion") || modifiers.Contains(" explosionforbot") || modifiers.Contains(" realtargeting")) { Detail = "Boom"; } if (modifiers.Contains("01") && ((sType.Contains("combo") || modifiers.Contains(" shortairreaction"))) && (!BaseName.Contains("thunder drake"))) { Detail = "hit 1"; } if ((modifiers.Contains("02") || modifiers.Contains("03") || modifiers.Contains("04") || modifiers.Contains("05") || modifiers.Contains("06") || modifiers.Contains("07") || modifiers.Contains("08") || modifiers.Contains("09")) && (!(modifiers.Contains(" projectile") || modifiers.Contains(" shot")) || (modifiers.Contains(" shortairreaction")))) { Detail = Detail + "hit " + modifiers.Find(x => x.Contains("0")).Substring(1, 1); } if ((modifiers.Contains("00") || modifiers.Contains("01") || modifiers.Contains("02") || modifiers.Contains("03") || modifiers.Contains("04") || modifiers.Contains("05") || modifiers.Contains("06") || modifiers.Contains("07") || modifiers.Contains("08") || modifiers.Contains("09")) && (modifiers.Contains(" shot")) && (!modifiers.Contains(" projectile")) && (!modifiers.Contains(" cast")) && (!sType.Contains("capture")) && (!BaseName.Contains("thunder drake"))) { Detail = Detail + "hit " + (int.Parse(modifiers.Find(x => x.Contains("0")).Substring(1, 1)) + 1).ToString(); } if ((modifiers.Contains("00") || modifiers.Contains("01") || modifiers.Contains("02") || modifiers.Contains("03") || modifiers.Contains("04") || modifiers.Contains("05") || modifiers.Contains("06") || modifiers.Contains("07") || modifiers.Contains("08") || modifiers.Contains("09")) && (modifiers.Contains(" projectile")) && (!modifiers.Contains(" shot"))) { if (BaseName.Contains("sorcerer")) { if (!(skillid.EndsWith("0") && modifiers.Contains("01"))) { Detail = "hit " + (int.Parse(modifiers.Find(x => x.Contains("0")).Substring(1, 1)) + 1).ToString(); } } if (BaseName.Contains("priest")) { if (!(modifiers.Contains("00") || modifiers.Contains("01"))) { Detail = "hit " + modifiers.Find(x => x.Contains("0")).Substring(1, 1); } } } if ((modifiers.Contains("00") || modifiers.Contains("01") || modifiers.Contains("02") || modifiers.Contains("03") || modifiers.Contains("04")) && (((modifiers.Contains(" projectile")) && (modifiers.Contains(" shot"))) || ((modifiers.Contains(" cast")) && (modifiers.Contains(" shot")))) && (BaseName.Contains("priest"))) { Detail = "hit " + modifiers.Find(x => x.Contains("0")).Substring(1, 1); } //holy shot if (((modifiers.Contains("00") || modifiers.Contains("01") || modifiers.Contains("02") || modifiers.Contains("03") || modifiers.Contains("04")) && modifiers.Contains(" shot")) && (BaseName.Contains("elementalist")) && (sType == "combo" || sType == "combo_instance")) { Detail = "hit " + modifiers.Find(x => x.Contains("0")).Substring(1, 1); } //Magic Arrow if (modifiers.Contains(" on")) { Detail = "On"; } if (modifiers.Contains(" off")) { Detail = "Off"; } if (modifiers.Contains(" superarmor")) { Detail = "SA"; } if (modifiers.Contains(" fury")) { Detail = "Fury"; } if (modifiers.Contains(" fail")) { Detail = "Dash fail"; } if (modifiers.Contains(" blast") && (!BaseName.Contains("priest"))) { Detail = "Blast"; } if (modifiers.Contains(" flying")) { Detail = "forward"; } if (modifiers.Contains(" return")) { Detail = "backward"; } if (modifiers.Contains(" stopping")) { Detail = "stopping"; } if (modifiers.Contains(" jin")) { Detail = "MB"; } if (modifiers.Contains(" for distortion")) { Detail = Detail + " FD"; } if (modifiers.Contains(" side")) { Detail = "Side " + Detail; } }
public void colorTool(int level) { int initialLocation = 0; int startPixel = 0; switch (BaseName.Split(' ').Last()) { case "Hoe": initialLocation = 69129; startPixel = 65536; break; case "Pickaxe": initialLocation = 100749; startPixel = 98304; break; case "Axe": initialLocation = 134681; startPixel = 131072; break; case "Can": initialLocation = 168713; startPixel = 163840; break; } int red = 0; int green = 0; int blue = 0; switch (level) { case 1: red = 198; green = 108; blue = 43; break; case 2: red = 197; green = 226; blue = 222; break; case 3: red = 248; green = 255; blue = 73; break; case 4: red = 144; green = 135; blue = 181; break; } if (startPixel > 0 && level > 0) { if (BaseName.Contains("Can")) { ColorChanger.swapColor(Game1.toolSpriteSheet, initialLocation + 36, red * 5 / 4, green * 5 / 4, blue * 5 / 4, startPixel, startPixel + 32768); } ColorChanger.swapColor(Game1.toolSpriteSheet, initialLocation + 8, red, green, blue, startPixel, startPixel + 32768); ColorChanger.swapColor(Game1.toolSpriteSheet, initialLocation + 4, red * 3 / 4, green * 3 / 4, blue * 3 / 4, startPixel, startPixel + 32768); ColorChanger.swapColor(Game1.toolSpriteSheet, initialLocation, red * 3 / 8, green * 3 / 8, blue * 3 / 8, startPixel, startPixel + 32768); } }