Ejemplo n.º 1
0
 static bool Prefix(ref MeatSourceCategory __result, ThingDef source)
 {
     if (source == PackedMeat.MysteriousPackDef)
     {
         __result = MeatSourceCategory.Humanlike;
         return(false);
     }
     if (source == PackedMeat.OddPackDef)
     {
         __result = MeatSourceCategory.Insect;
         return(false);
     }
     //
     return(true);
 }
Ejemplo n.º 2
0
        public static bool GetMeatSourceCategory(ref MeatSourceCategory __result, ThingDef source)
        {
            IngestibleProperties ingestible = source.ingestible;

            if (ingestible == null)
            {
                __result = MeatSourceCategory.Undefined;
                return(false);
            }
            if ((ingestible.foodType & FoodTypeFlags.Meat) != FoodTypeFlags.Meat)
            {
                __result = MeatSourceCategory.NotMeat;
                return(false);
            }
            if (ingestible.sourceDef != null && ingestible.sourceDef.race != null && ingestible.sourceDef.race.Humanlike)
            {
                __result = MeatSourceCategory.Humanlike;
                return(false);
            }
            __result = ingestible.sourceDef != null && ingestible.sourceDef.race.FleshType != null && ingestible.sourceDef.race.FleshType == FleshTypeDefOf.Insectoid ? MeatSourceCategory.Insect : MeatSourceCategory.Undefined;
            return(false);
        }