public ArkTribeLogPlayerTarget tribePlayerTarget; //Who did it public ArkTribeLogEntry_Tamed(string content, List <ArkPlayerProfile> playerProfiles, List <ArkDinosaur> globalDinos, int tribeId, OnFindSteamProfile steamCallback) { //Grab the groups with the regex GroupCollection gc = GetRegexGroups(content, ArkTribeLogEntry.REGEX_TAMED); //Resolve targets tribePlayerTarget = TryFindPlayerProfile(gc[1].Value, playerProfiles, tribeId, true, steamCallback); tamedTarget = TryFindDinoProfile(gc[2].Value, int.Parse(gc[3].Value), gc[4].Value, tribeId, globalDinos, true); //Set vars priority = ArkTribeLogEntryPriority.Low; type = ArkTribeLogEntryType.TribeTamedDino; }
public static ArkTribeLogPlayerOrDinoTarget TryFindDinoOrPlayerProfile(Group name, Group level, Group classname, List <ArkPlayerProfile> playerProfiles, List <ArkDinosaur> globalDinos, int tribeId, bool isWild, OnFindSteamProfile steamCallback) { //Try to find a player first, then try a dino. try { string nameString = name.Value; if (nameString.StartsWith("Tribemember ")) { nameString = nameString.Substring("Tribemember ".Length); } ArkTribeLogPlayerTarget t = TryFindPlayerProfile(nameString, playerProfiles, tribeId, false, steamCallback); if (t.found) { return(new ArkTribeLogPlayerOrDinoTarget { isDino = false, player = t }); } } catch { } //Player check failed. Try a dino now. ArkTribeLogDinoTarget dt; if (isWild) { dt = TryFindWildDinoProfile(int.Parse(level.Value), name.Value.Trim(' ').Trim('(').Trim(')').Split(')')[0], globalDinos); } else { dt = TryFindDinoProfile(name.Value, int.Parse(level.Value), classname.Value.Trim(' ').Trim('(').Trim(')').Split(')')[0], tribeId, globalDinos, false); } return(new ArkTribeLogPlayerOrDinoTarget { isDino = true, dino = dt }); }