public bool DeleteLogMessage(string logMessage) { string timestamp = logMessage.Substring(0, 5); lock (huntLock) { if (this.loot.logMessages.ContainsKey(timestamp)) { if (this.loot.logMessages[timestamp].Contains(logMessage)) { this.loot.logMessages[timestamp].Remove(logMessage); var logMessageItems = Parser.ParseLootMessage(logMessage); Creature cr = logMessageItems.Item1; if (this.loot.killCount.ContainsKey(cr)) { this.loot.killCount[cr]--; if (this.loot.killCount[cr] == 0) { this.loot.killCount.Remove(cr); } } foreach (Tuple<Item, int> tpl in logMessageItems.Item2) { if (this.loot.creatureLoot[cr].ContainsKey(tpl.Item1)) { this.loot.creatureLoot[cr][tpl.Item1] -= tpl.Item2; if (this.loot.creatureLoot[cr][tpl.Item1] <= 0) { this.loot.creatureLoot[cr].Remove(tpl.Item1); } } } return true; } } } return false; }
public static void deleteLogMessage(Hunt h, string logMessage) { bool found = h.DeleteLogMessage(logMessage); if (!found) { return; } LootDatabaseManager.DeleteMessage(h, logMessage, null); LootDatabaseManager.UpdateLoot(); }