예제 #1
0
        private static void CheckFoodItem(SkillsManager skillsManager, SkillType skillType, int numPoints,
                                          SkillsManager.PointAssignmentMode mode, CookingPotItem pot)
        {
            GearItem itemBeingCooked = Traverse.Create(pot).Field("m_GearItemBeingCooked").GetValue <GearItem>();

            if (itemBeingCooked && itemBeingCooked.IsWornOut())
            {
                return;                 // No skill points for cooking ruined items
            }
            else if (itemBeingCooked && itemBeingCooked.m_FoodItem)
            {
                FoodItem food = itemBeingCooked.m_FoodItem;
                if (food.m_IsMeat && food.m_IsRawMeat && food.m_CaloriesRemaining < MIN_SIZE * food.m_CaloriesTotal)
                {
                    return;                     // No skill points if the piece of meat being cooked is too small
                }
            }

            skillsManager.IncrementPointsAndNotify(skillType, numPoints, mode);
        }