Ejemplo n.º 1
0
        public bool SpawnMote()
        {
            if (!Props.spawnMote)
            {
                if (MyDebug)
                {
                    Log.Warning("no Props.spawnMote, wont SpawnMote");
                }
                return(false);
            }

            Thing refThing = Lifespan_Utility.ThingInCaseOfDeath(parent);

            if (refThing == null)
            {
                if (MyDebug)
                {
                    Log.Warning("no refThing in case of death, cant SpawnMote");
                }
                return(false);
            }

            int moteNum = Props.moteNumRange.RandomInRange;

            if (moteNum <= 0)
            {
                if (MyDebug)
                {
                    Log.Warning("moteNum <= 0, cant SpawnMote");
                }
                return(false);
            }

            for (int i = 0; i < moteNum; i++)
            {
                Vector3 origin = refThing.DrawPos;
                origin.x += Rand.Range(0, Props.moteRadius) * (Rand.Chance(.5f) ? -1 : 1);
                origin.y += Rand.Range(0, Props.moteRadius) * (Rand.Chance(.5f) ? -1 : 1);
                if (Props.moteDef == null)
                {
                    if (MyDebug)
                    {
                        Log.Warning("no Props.moteDef, will spawn smoke");
                    }
                    FleckMaker.ThrowSmoke(origin, refThing.Map, Props.moteScale.RandomInRange);
                    //Lifespan_Utility.ThrowCustomSmoke(ThingDefOf.Mote_Smoke, origin, refThing.Map, Props.moteScale.RandomInRange);
                }

                else
                {
                    Lifespan_Utility.ThrowCustomSmoke(Props.moteDef, origin, refThing.Map, Props.moteScale.RandomInRange);
                }
            }

            return(true);
        }
Ejemplo n.º 2
0
        private bool SpawnFilth()
        {
            if (Props.filthDef == null)
            {
                if (MyDebug)
                {
                    Log.Warning("no Props.filthDef, cant SpawnFilth");
                }
                return(false);
            }

            Thing refThing = Lifespan_Utility.ThingInCaseOfDeath(parent);

            if (refThing == null)
            {
                if (MyDebug)
                {
                    Log.Warning("no refThing in caase of death, cant SpawnFilth");
                }
                return(false);
            }

            int filthNum = Props.filthIntRange.RandomInRange;

            if (filthNum <= 0)
            {
                if (MyDebug)
                {
                    Log.Warning("filthNum <= 0, cant SpawnFilth");
                }
                return(false);
            }
            for (int i = 0; i < filthNum; i++)
            {
                Lifespan_Utility.TrySpawnFilth(refThing, Props.filthRadius, Props.filthDef);
            }
            return(true);
        }