private static void SetFlaskInfo() { _info = new FlaskInfo(); foreach (var flask in FlaskHud.InventoryControl.Inventory.Items) { foreach (var stat in flask.LocalStats.Keys) { if (stat == Constants.AntiFreezeStat) { _info.HasAntiFreeze = true; } else if (stat == Constants.AntiIgniteStat) { _info.HasAntiIgnite = true; } else if (stat == Constants.AntiShockStat) { _info.HasAntiShock = true; } else if (stat == Constants.AntiPoisonStat) { _info.HasAntiPoison = true; } else if (stat == Constants.AntiCurseStat) { _info.HasAntiCurse = true; } else if (stat == Constants.AntiBleedStat) { _info.HasAntiBleed = true; } } if (flask.Name == FlaskNames.Quicksilver) { _info.HasQsilverFlask = true; continue; } var c = flask.Class; if (c == ItemClasses.LifeFlask) { _info.HasLifeFlask = true; continue; } if (c == ItemClasses.ManaFlask) { _info.HasManaFlask = true; continue; } var fullName = flask.FullName; if (c == ItemClasses.HybridFlask && fullName != FlaskNames.DivinationDistillate) { _info.HasLifeFlask = true; _info.HasManaFlask = true; continue; } if (fullName == FlaskNames.KiaraDetermination) { _info.HasAntiFreeze = true; _info.HasAntiCurse = true; } var name = flask.ProperName(); var triggers = AutoFlaskSettings.Instance.GetFlaskTriggers(name); if (triggers == null) { Log.Warn($"[Autoflask] \"{name}\" is unknown and will not be used."); continue; } if (triggers.Count == 0) { Log.Warn($"[Autoflask] \"{name}\" has no assigned triggers and will not be used."); continue; } var effect = Flasks.GetEffect(name); if (effect == null) { Log.Warn($"[Autoflask] \"{name}\" has unknown effect and will not be used."); continue; } _info.AddTriggerFlask(flask.LocationTopLeft.X, name, effect, triggers); _info.HasTriggerFlask = true; } _info.Log(); }