public static T GenerateReputationInstance <T>(
            T newInstance,
            ReputationBiases personality = ReputationBiases.UNKNOWN)
            where T : IQuestSource
        {
            newInstance.GenerateSettings();

            return(newInstance);
        }
        public static void GenerateQuestPreferences(QuestSourceFaction instance, ReputationBiases forcedType)
        {
            while (forcedType == ReputationBiases.UNKNOWN)
            {
                forcedType = EnumUtility.GetRandomEnumValue <ReputationBiases>();
            }

            instance.personalityType = forcedType;

            switch (instance.personalityType)
            {
            case ReputationBiases.VILLAGERS:
                instance.questPreferenceChores         = 1;
                instance.questPreferenceDelivery       = 1;
                instance.questPreferenceMonsterSlaying = 0.1f;
                instance.questPreferenceWar            = 0;
                break;

            case ReputationBiases.GOVERNMENT:
                instance.questPreferenceChores         = 0.1f;
                instance.questPreferenceDelivery       = 1f;
                instance.questPreferenceMonsterSlaying = 0.5f;
                instance.questPreferenceWar            = 0.1f;
                break;

            case ReputationBiases.MONSTER_SLAYING:
                instance.questPreferenceChores         = 0;
                instance.questPreferenceDelivery       = 0.25f;
                instance.questPreferenceMonsterSlaying = 1f;
                instance.questPreferenceWar            = 0.1f;
                break;

            case ReputationBiases.WAR_EFFORT:
                instance.questPreferenceChores         = 0;
                instance.questPreferenceDelivery       = 0.2f;
                instance.questPreferenceMonsterSlaying = 0f;
                instance.questPreferenceWar            = 1;
                break;
            }
        }
 public QuestSourcePerson(ReputationBiases personality)
 {
     personalityType = personality;
 }
 public QuestSourceFaction(ReputationBiases personality)
 {
     personalityType = personality;
     Heroes          = new List <HeroInstance>();
 }