Esempio n. 1
0
    //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);
    }
Esempio n. 2
0
    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);
    }