Beispiel #1
0
        public override IEnumerable <FiringIncident> MakeIntervalIncidents(IIncidentTarget target)
        {
            _003CMakeIntervalIncidents_003Ec__Iterator0 _003CMakeIntervalIncidents_003Ec__Iterator = (_003CMakeIntervalIncidents_003Ec__Iterator0) /*Error near IL_0032: stateMachine*/;

            if (DebugSettings.enableRandomDiseases && target.Tile != -1)
            {
                BiomeDef biome = Find.WorldGrid[target.Tile].biome;
                float    mtb2  = biome.diseaseMtbDays;
                mtb2 *= Find.Storyteller.difficulty.diseaseIntervalFactor;
                if (Rand.MTBEventOccurs(mtb2, 60000f, 1000f) && UsableIncidentsInCategory(Props.category, target).TryRandomElementByWeight((IncidentDef d) => biome.CommonalityOfDisease(d), out IncidentDef inc))
                {
                    yield return(new FiringIncident(inc, this, GenerateParms(inc.category, target)));

                    /*Error: Unable to find new state assignment for yield return*/;
                }
            }
        }
        public override IEnumerable <FiringIncident> MakeIntervalIncidents(IIncidentTarget target)
        {
            if (!DebugSettings.enableRandomDiseases)
            {
                yield break;
            }
            if (target.Tile == -1)
            {
                yield break;
            }
            BiomeDef biome = Find.WorldGrid[target.Tile].biome;
            float    mtb   = biome.diseaseMtbDays;

            mtb *= Find.Storyteller.difficulty.diseaseIntervalFactor;
            IncidentDef inc;

            if (Rand.MTBEventOccurs(mtb, 60000f, 1000f) && base.UsableIncidentsInCategory(this.Props.category, target).TryRandomElementByWeight((IncidentDef d) => biome.CommonalityOfDisease(d), out inc))
            {
                yield return(new FiringIncident(inc, this, this.GenerateParms(inc.category, target)));
            }
            yield break;
        }
Beispiel #3
0
        public override IEnumerable <FiringIncident> MakeIntervalIncidents(IIncidentTarget target)
        {
            if (!DebugSettings.enableRandomDiseases || target is World || Find.Storyteller.difficultyValues.diseaseIntervalFactor >= 100f)
            {
                yield break;
            }
            BiomeDef biome          = Find.WorldGrid[target.Tile].biome;
            float    diseaseMtbDays = biome.diseaseMtbDays;

            diseaseMtbDays *= Find.Storyteller.difficultyValues.diseaseIntervalFactor;
            if (target is Caravan)
            {
                diseaseMtbDays *= CaravanDiseaseMTBFactor;
            }
            if (Rand.MTBEventOccurs(diseaseMtbDays, 60000f, 1000f))
            {
                IncidentParms parms = GenerateParms(Props.category, target);
                if (UsableIncidentsInCategory(Props.category, parms).TryRandomElementByWeight((IncidentDef d) => biome.CommonalityOfDisease(d), out var result))
                {
                    yield return(new FiringIncident(result, this, parms));
                }
            }
        }
 public override IEnumerable <FiringIncident> MakeIntervalIncidents(IIncidentTarget target)
 {
     if (DebugSettings.enableRandomDiseases)
     {
         if (target.Tile != -1)
         {
             BiomeDef biome = Find.WorldGrid[target.Tile].biome;
             float    mtb   = biome.diseaseMtbDays;
             mtb *= Find.Storyteller.difficulty.diseaseIntervalFactor;
             IncidentDef inc;
             if (Rand.MTBEventOccurs(mtb, 60000f, 1000f) && (from d in DefDatabase <IncidentDef> .AllDefs
                                                             where d.Worker.CanFireNow(target) && d.category == IncidentCategory.Disease
                                                             select d).TryRandomElementByWeight((IncidentDef d) => biome.CommonalityOfDisease(d), out inc))
             {
                 yield return(new FiringIncident(inc, this, this.GenerateParms(inc.category, target)));
             }
         }
     }
 }
        public override IEnumerable <FiringIncident> MakeIntervalIncidents(IIncidentTarget target)
        {
            _003CMakeIntervalIncidents_003Ec__Iterator0 _003CMakeIntervalIncidents_003Ec__Iterator = (_003CMakeIntervalIncidents_003Ec__Iterator0) /*Error near IL_0032: stateMachine*/;

            if (DebugSettings.enableRandomDiseases && target.Tile != -1)
            {
                BiomeDef biome = Find.WorldGrid[target.Tile].biome;
                float    mtb2  = biome.diseaseMtbDays;
                mtb2 *= Find.Storyteller.difficulty.diseaseIntervalFactor;
                if (!Rand.MTBEventOccurs(mtb2, 60000f, 1000f))
                {
                    yield break;
                }
                IncidentDef inc;
                if (!(from d in DefDatabase <IncidentDef> .AllDefs
                      where d.Worker.CanFireNow(target) && d.category == IncidentCategory.Disease
                      select d).TryRandomElementByWeight <IncidentDef>((Func <IncidentDef, float>)((IncidentDef d) => biome.CommonalityOfDisease(d)), out inc))
                {
                    yield break;
                }
                yield return(new FiringIncident(inc, this, this.GenerateParms(inc.category, target)));

                /*Error: Unable to find new state assignment for yield return*/;
            }
        }