public static void ThrowSmokeRed(Vector3 loc, float size) { if (!loc.ShouldSpawnMotesAt() || MoteCounter.SaturatedLowPriority) { return; } MoteThrown moteThrown = (MoteThrown)ThingMaker.MakeThing(ThingDef.Named("Mote_SmokeRed"), null); moteThrown.ScaleUniform = Rand.Range(1.5f, 2.5f) * size; moteThrown.exactRotationRate = Rand.Range(-0.5f, 0.5f); moteThrown.exactPosition = loc; moteThrown.SetVelocityAngleSpeed((float)Rand.Range(30, 40), Rand.Range(0.008f, 0.012f)); GenSpawn.Spawn(moteThrown, loc.ToIntVec3()); }
public static void ThrowLightningGlowGreen(Vector3 loc, float size) { if (!loc.ShouldSpawnMotesAt()) { return; } MoteThrown moteThrown = (MoteThrown)ThingMaker.MakeThing(DefDatabase<ThingDef>.GetNamed("Mote_LightningGlowGreen", true), null); moteThrown.ScaleUniform = 6f * size; moteThrown.exactRotationRate = 0f; moteThrown.exactPosition = loc; moteThrown.exactPosition += new Vector3(0.5f, 0f, 0.5f); //moteThrown.SetVelocityAngleSpeed((float)Rand.Range(0, 0), Rand.Range(0.0002f, 0.0002f)); GenSpawn.Spawn(moteThrown, loc.ToIntVec3()); }
public static void ThrowMicroSparksRed(Vector3 loc) { if (!loc.ShouldSpawnMotesAt() || MoteCounter.Saturated) { return; } MoteThrown moteThrown = (MoteThrown)ThingMaker.MakeThing(ThingDef.Named("Mote_MicroSparksRed"), null); moteThrown.ScaleUniform = Rand.Range(0.8f, 1.2f); moteThrown.exactRotationRate = Rand.Range(-0.2f, 0.2f); moteThrown.exactPosition = loc; moteThrown.exactPosition -= new Vector3(0.5f, 0f, 0.5f); moteThrown.exactPosition += new Vector3(Rand.Value, 0f, Rand.Value); moteThrown.SetVelocityAngleSpeed((float)Rand.Range(35, 45), Rand.Range(0.02f, 0.02f)); GenSpawn.Spawn(moteThrown, loc.ToIntVec3()); }