protected override LootEvent ProcessAddDesynthSell(LootMessage message) { // Desynth (Local Player) if (ProcessAddDesynthSellDesynthRegex.IsMatch(message.MessageParts.Last())) { return new LootEvent { LootEventType = LootEventType.Desynth, IsLocalPlayer = true, PlayerName = Plugin.GetLocalPlayerName() } } ; // Orchestration (Local Player) if (ProcessAddDesynthSellOrchestrationRegex.IsMatch(message.MessageParts.Last())) { return new LootEvent { LootEventType = LootEventType.Use, IsLocalPlayer = true, PlayerName = Plugin.GetLocalPlayerName() } } ; // Sell (Local Player) if (ProcessAddDesynthSellSellRegex.IsMatch(message.MessageParts.Last())) { return new LootEvent { LootEventType = LootEventType.Sell, IsLocalPlayer = true, PlayerName = Plugin.GetLocalPlayerName() } } ; return(null); }
protected override LootEvent ProcessSystem(LootMessage message) { // Searched (Local Player) if (ProcessSystemSearchRegex.IsMatch(message.MessageParts[0])) { return new LootEvent { LootEventType = LootEventType.Search, IsLocalPlayer = true, PlayerName = Plugin.GetLocalPlayerName() } } ; // Added if (ProcessSystemAddedRegex.IsMatch(message.MessageParts.First())) { return new LootEvent { LootEventType = LootEventType.Add } } ; // Lost if (ProcessSystemLostRegex.IsMatch(message.MessageParts[0])) { return new LootEvent { LootEventType = LootEventType.Lost } } ; // Purchased (Local Player) if (ProcessSystemPurchasedRegex.IsMatch(message.MessageParts[0])) { return new LootEvent { LootEventType = LootEventType.Purchase, IsLocalPlayer = true, PlayerName = Plugin.GetLocalPlayerName() } } ; // Discarded (Local Player) if (ProcessSystemDiscardedRegex.IsMatch(message.MessageParts[0])) { return new LootEvent { LootEventType = LootEventType.Discard, IsLocalPlayer = true, PlayerName = Plugin.GetLocalPlayerName() } } ; // Obtained from Desynth (Local Player) if (ProcessSystemObtainedFromDesynthRegex.IsMatch(message.MessageParts[0])) { return new LootEvent { LootEventType = LootEventType.Obtain, IsLocalPlayer = true, PlayerName = Plugin.GetLocalPlayerName() } } ; // Obtained by Retrieving Materia (Local Player) if (ProcessSystemObtainedFromMateriaRegex.IsMatch(message.MessageParts[0])) { return new LootEvent { LootEventType = LootEventType.Obtain, IsLocalPlayer = true, PlayerName = Plugin.GetLocalPlayerName() } } ; // Lost Materia (Local Player) if (message.MessageParts.Count >= 3 && ProcessSystemLostMateriaRegex.IsMatch(message.MessageParts[2])) { return new LootEvent { LootEventType = LootEventType.Lost, IsLocalPlayer = true, PlayerName = Plugin.GetLocalPlayerName() } } ; // Sell (Local Player) if (ProcessAddDesynthSellSellRegex.IsMatch(message.MessageParts[0])) { return new LootEvent { LootEventType = LootEventType.Sell, IsLocalPlayer = true, PlayerName = Plugin.GetLocalPlayerName() } } ; return(null); }