private void InitializeVolcanicWinter()
        {
            GameConditionManager gameConditionManager = this.gameConditionManager;
            int           duration = Mathf.RoundToInt(this.Duration);
            GameCondition cond     = GameConditionMaker.MakeCondition(GameConditionDefOf.VolcanicWinter, duration);

            gameConditionManager.RegisterCondition(cond);
        }
        private void InitializeDeathSkies()
        {
            GameConditionManager gameConditionManager = this.gameConditionManager;
            int           duration = Mathf.RoundToInt(this.Duration);
            GameCondition cond2    = GameConditionMaker.MakeCondition(TorannMagicDefOf.DarkClouds, duration);

            gameConditionManager.RegisterCondition(cond2);
        }
        private void InitializeSolarFlare()
        {
            GameConditionManager gameConditionManager = this.gameConditionManager;
            int           duration = Mathf.RoundToInt(this.Duration);
            GameCondition cond     = GameConditionMaker.MakeCondition(GameConditionDefOf.SolarFlare, duration);

            gameConditionManager.RegisterCondition(cond);
        }
Exemple #4
0
        protected override bool TryExecuteWorker(IncidentParms parms)
        {
            GameConditionManager gameConditionManager = parms.target.GameConditionManager;
            GameCondition        cond = GameConditionMaker.MakeCondition(this.def.gameCondition, Ticks, 0);

            gameConditionManager.RegisterCondition(cond);
            base.SendStandardLetter();
            return(true);
        }
Exemple #5
0
        protected override bool TryExecuteWorker(IncidentParms parms)
        {
            GameConditionManager gameConditionManager = parms.target.GameConditionManager;
            int           duration = Mathf.RoundToInt(base.def.durationDays.RandomInRange * 60000f);
            GameCondition cond     = GameConditionMaker.MakeCondition(base.def.gameCondition, duration, 0);

            gameConditionManager.RegisterCondition(cond);
            //base.SendStandardLetter();    //it's that easy!
            return(true);
        }
Exemple #6
0
        private void InitializeDarkStorms()
        {
            GameConditionManager gameConditionManager = base.CasterPawn.Map.gameConditionManager;
            int           duration = 45000;
            GameCondition cond     = GameConditionMaker.MakeCondition(TorannMagicDefOf.DarkThunderstorm, duration);

            gameConditionManager.RegisterCondition(cond);
            GameCondition_DarkThunderstorm gcdt = cond as GameCondition_DarkThunderstorm;

            if (gcdt != null)
            {
                gcdt.faction = base.CasterPawn.Faction;
            }
        }
Exemple #7
0
        protected override bool TryExecuteWorker(IncidentParms parms)
        {
            if (!settings.Active)
            {
                return(false);
            }

            GameConditionManager gameConditionManager = parms.target.GameConditionManager;
            int           duration = Mathf.RoundToInt(def.durationDays.RandomInRange * 60000f);
            GameCondition cond     = GameConditionMaker.MakeCondition(def.gameCondition, duration);

            gameConditionManager.RegisterCondition(cond);
            SendStandardLetter(parms, null);
            return(true);
        }
Exemple #8
0
        public override void CompTickRare()
        {
            base.CompTickRare();
            if (!LoadedModManager.GetMod <MonsterHunterRimworldMod>().GetSettings <MonsterHunterRimworldModSettings>().elderDragonWeatherEffects)
            {
                return;
            }
            if (!(parent is Pawn elderDragon))
            {
                return;
            }
            if (!WyvernUtility.IsElderDragon(elderDragon))
            {
                return;
            }
            if (elderDragon.Dead)
            {
                return;
            }
            Map map = elderDragon.Map;

            if (map == null)
            {
                return;
            }

            GameConditionManager gameConditionManager = map.GameConditionManager;

            if (gameConditionManager.ConditionIsActive(GameConditionDefOf.ToxicFallout))
            {
                return;
            }
            int           duration = Mathf.RoundToInt(0.5f * 60000f); // lasts half a day after elder dragon dies
            GameCondition cond     = GameConditionMaker.MakeCondition(GameConditionDefOf.ToxicFallout, duration);

            gameConditionManager.RegisterCondition(cond);
        }