void AttemptToStartProcessing(string line) { _grangerDebug.Log("attempting to start processing horse due to line: " + line); //clean up if there is still non-timed out process VerifyAndApplyProcessing(); //it is unknown if smiled at horse or something else //attempt to extract the name of game object try { //[20:48:42] You smile at Adolescent diseased Mountainheart. _grangerDebug.Log("extracting object name"); string objectNameWithPrefixes = line.Remove(0, 13).Replace(".", ""); if (!GrangerHelpers.IsBlacklistedCreatureName(objectNameWithPrefixes) && GrangerHelpers.HasAgeInName(objectNameWithPrefixes)) { _grangerDebug.Log("object asumed to be a horse"); var ahSkill = _playerMan.GetAhSkill(); var currentGroup = _playerMan.GetCurrentServerGroup(); if (ahSkill != null && currentGroup != WurmServer.ServerInfo.ServerGroup.Unknown) { _grangerDebug.Log("building new horse object and moving to processor"); _isProcessing = true; _startedProcessingOn = DateTime.Now; _verifyList = new ProcessorVerifyList(); _newHorse = new HorseBuilder { Name = GrangerHelpers.ExtractHorseName(objectNameWithPrefixes), Age = GrangerHelpers.ExtractHorseAge(objectNameWithPrefixes), ServerGroup = currentGroup, InspectSkill = ahSkill.Value, //IsDiseased = // (GrangerHelpers.LineContainsDiseased(objectNameWithPrefixes) != null) }; var fat = GrangerHelpers.LineContainsFat(objectNameWithPrefixes); if (fat != null) _newHorse.SecondaryInfo = HorseEntity.SecondaryInfoTag.Fat; var starving = GrangerHelpers.LineContainsStarving(objectNameWithPrefixes); if (starving != null) _newHorse.SecondaryInfo = HorseEntity.SecondaryInfoTag.Starving; var diseased = GrangerHelpers.LineContainsDiseased(objectNameWithPrefixes); if (diseased != null) _newHorse.SecondaryInfo = HorseEntity.SecondaryInfoTag.Diseased; _verifyList.Name = true; _grangerDebug.Log("finished building"); } else { Popup.Schedule("CAN'T PROCESS HORSE", "Cannot gather data for " + _playerMan.PlayerName + " yet, please try again once Granger fully loads.", 5000); _grangerDebug.Log("processing horse cancelled, still waiting for AH skill or server group searches to finish (skill: " + ahSkill + " ; server group: " + currentGroup); } } else _grangerDebug.Log(objectNameWithPrefixes + " cannot be added. Only named creatures can be added to Granger."); } catch (Exception _e) { //this shouldn't happen, there is always something player is smiling at, unless error happened elsewhere _grangerDebug.Log("! Granger: error while BeginProcessing, event: " + line, true, _e); } }
private string GetVerifyListData(ProcessorVerifyList verifyList) { //get { return (Name && (Gender || Parents || Traits || CaredBy)); } return string.Format("(name: {0}, Gender: {1}, Parents: {2}, Traits: {3}, CaredBy: {4})", verifyList.Name, verifyList.Gender, verifyList.Parents, verifyList.Traits, verifyList.CaredBy); }