//Special Cases: //Employees in the same department //Manager of the employee public static IClue GenerateRandomClueFromEmployee(Employee employee) { int roll = rnd.Next(1, 101); //Generating random clue type ClueTypes randomClueType = ClueTypes.Useless; switch (employee.rank) { case Person.RankEnum.Employee: randomClueType = PickClueCategory(roll, LowLevelEmployeeClueProbs); break; case Person.RankEnum.Manager: randomClueType = PickClueCategory(roll, ManagerEmployeeClueProbs); break; case Person.RankEnum.Executive: randomClueType = PickClueCategory(roll, ExecEmployeeClueProbs); break; case Person.RankEnum.CEO: randomClueType = PickClueCategory(roll, CEOEmployeeClueProbs); break; default: break; } //if (Employee.currentLocation == Target.currentLocation) //{ // //} IClue generatedClue = null; int clueCategoryRoll = rnd.Next(1, 101); if (clueCategoryRoll <= 70) { var features = Game.S.target.features.getTrueOrnaments(); Feature targetFeature = features.PickRandom(); generatedClue = new ClueFeature(randomClueType, targetFeature); } else if (clueCategoryRoll <= 90) { var floor = Game.S.target.CurrentLocation.floor; generatedClue = new ClueFloor(randomClueType, floor); } else { var room = Game.S.target.CurrentLocation; generatedClue = new ClueRoom(randomClueType, room); } return(generatedClue); }
public static string generateFloorDialogue(ClueFloor clue) { string baseString = ""; if (clue.clueType == ClueTypes.Useless) { return(uselessClueGenerator.getUselessClueString()); } if (clue.clueType == ClueTypes.Unsure) { baseString = floorDialogueUnsureStarters.PickRandom() + " "; } if (clue.clueType == ClueTypes.Partial) { baseString = floorDialoguePartialStarters.PickRandom() + " "; } if (clue.clueType == ClueTypes.Complete) { baseString = floorDialogueCompleteStarters.PickRandom() + " "; } string featureString = ""; string endingString = "."; if (clue.clueType == ClueTypes.Unsure) { featureString += clue.sortedFloors[0].displayName; endingString = " or " + clue.sortedFloors[1].displayName + "."; } else if (clue.clueType == ClueTypes.Partial || clue.clueType == ClueTypes.Complete) { featureString += clue.sortedFloors[0].displayName; } baseString += featureString; baseString += endingString; return(baseString); }