public static void PlaceFootprint(Vector3 loc, Map map, float rot) { bool flag = !loc.ShouldSpawnMotesAt(map); if (!flag) { FleckCreationData data = AdeptusFleckMaker.GetDataStatic(loc, map, FleckDefOf.Footprint, 0.5f); data.rotation = rot; map.flecks.CreateFleck(data); } }
public static void ConnectingLine(Vector3 start, Vector3 end, FleckDef fleckDef, Map map, float width = 1f) { Vector3 positionDiff = end - start; float dist = positionDiff.MagnitudeHorizontal(); Vector3 halfway = start + positionDiff * 0.5f; FleckCreationData data = AdeptusFleckMaker.GetDataStatic(halfway, map, fleckDef, 1f); data.exactScale = new Vector3?(new Vector3(dist, 1f, width)); data.rotation = Mathf.Atan2(-positionDiff.z, positionDiff.x) * 57.29578f; map.flecks.CreateFleck(data); }
public static void ThrowExplosionInterior(Vector3 loc, Map map, FleckDef fleckDef) { bool flag = !loc.ShouldSpawnMotesAt(map); if (!flag) { FleckCreationData data = AdeptusFleckMaker.GetDataStatic(loc, map, fleckDef, Rand.Range(3f, 4.5f)); data.rotationRate = Rand.Range(-30f, 30f); data.velocityAngle = (float)Rand.Range(0, 360); data.velocitySpeed = Rand.Range(0.48f, 0.72f); map.flecks.CreateFleck(data); } }
public static void ThrowDustPuffThick(Vector3 loc, Map map, float scale, Color color) { bool flag = !loc.ShouldSpawnMotesAt(map); if (!flag) { FleckCreationData data = AdeptusFleckMaker.GetDataStatic(loc, map, FleckDefOf.DustPuffThick, scale); data.rotationRate = (float)Rand.Range(-60, 60); data.velocityAngle = (float)Rand.Range(0, 360); data.velocitySpeed = Rand.Range(0.6f, 0.75f); map.flecks.CreateFleck(data); } }
public static void ThrowAirPuffUp(Vector3 loc, Map map) { bool flag = !loc.ToIntVec3().ShouldSpawnMotesAt(map); if (!flag) { FleckCreationData data = AdeptusFleckMaker.GetDataStatic(loc + new Vector3(Rand.Range(-0.02f, 0.02f), 0f, Rand.Range(-0.02f, 0.02f)), map, FleckDefOf.AirPuff, 1.5f); data.rotationRate = (float)Rand.RangeInclusive(-240, 240); data.velocityAngle = (float)Rand.Range(-45, 45); data.velocitySpeed = Rand.Range(1.2f, 1.5f); map.flecks.CreateFleck(data); } }
public static void ThrowMetaPuff(Vector3 loc, Map map) { bool flag = !loc.ShouldSpawnMotesAt(map); if (!flag) { FleckCreationData data = AdeptusFleckMaker.GetDataStatic(loc, map, FleckDefOf.MetaPuff, 1.9f); data.rotationRate = (float)Rand.Range(-60, 60); data.velocityAngle = (float)Rand.Range(0, 360); data.velocitySpeed = Rand.Range(0.6f, 0.78f); map.flecks.CreateFleck(data); } }
public static void ThrowBreathPuff(Vector3 loc, Map map, float throwAngle, Vector3 inheritVelocity) { bool flag = !loc.ToIntVec3().ShouldSpawnMotesAt(map); if (!flag) { FleckCreationData data = AdeptusFleckMaker.GetDataStatic(loc + new Vector3(Rand.Range(-0.005f, 0.005f), 0f, Rand.Range(-0.005f, 0.005f)), map, FleckDefOf.AirPuff, Rand.Range(0.6f, 0.7f)); data.rotationRate = (float)Rand.RangeInclusive(-240, 240); data.velocityAngle = throwAngle + (float)Rand.Range(-10, 10); data.velocitySpeed = Rand.Range(0.1f, 0.8f); data.velocity = new Vector3?(inheritVelocity * 0.5f); map.flecks.CreateFleck(data); } }
public static void ThrowMicroSparks(Vector3 loc, Map map) { bool flag = !loc.ShouldSpawnMotesAt(map); if (!flag) { loc -= new Vector3(0.5f, 0f, 0.5f); loc += new Vector3(Rand.Value, 0f, Rand.Value); FleckCreationData data = AdeptusFleckMaker.GetDataStatic(loc, map, FleckDefOf.MicroSparks, Rand.Range(0.8f, 1.2f)); data.rotationRate = Rand.Range(-12f, 12f); data.velocityAngle = (float)Rand.Range(35, 45); data.velocitySpeed = 1.2f; map.flecks.CreateFleck(data); } }
// edited public static void ThrowExplosionCell(IntVec3 cell, Map map, FleckDef fleckDef, Color color, Color?dustColor = null) { bool flag = !cell.ShouldSpawnMotesAt(map); if (!flag) { FleckCreationData data = AdeptusFleckMaker.GetDataStatic(cell.ToVector3Shifted(), map, fleckDef, 1f); data.rotation = (float)(90 * Rand.RangeInclusive(0, 3)); data.instanceColor = new Color?(color); map.flecks.CreateFleck(data); bool flag2 = Rand.Value < 0.7f; if (flag2) { AdeptusFleckMaker.ThrowDustPuff(cell, map, 1.2f, null, dustColor); } } }
private static void ThrowObjectAt(Pawn thrower, IntVec3 targetCell, FleckDef fleck) { bool flag = !thrower.Position.ShouldSpawnMotesAt(thrower.Map); if (!flag) { float speed = Rand.Range(3.8f, 5.6f); Vector3 exactTarget = targetCell.ToVector3Shifted() + Vector3Utility.RandomHorizontalOffset((1f - (float)thrower.skills.GetSkill(SkillDefOf.Shooting).Level / 20f) * 1.8f); exactTarget.y = thrower.DrawPos.y; FleckCreationData data = AdeptusFleckMaker.GetDataStatic(thrower.DrawPos, thrower.Map, fleck, 1f); data.rotationRate = (float)Rand.Range(-300, 300); data.velocityAngle = (exactTarget - data.spawnPosition).AngleFlat(); data.velocitySpeed = speed; data.airTimeLeft = new float?((float)Mathf.RoundToInt((data.spawnPosition - exactTarget).MagnitudeHorizontal() / speed)); thrower.Map.flecks.CreateFleck(data); } }
public static void ThrowLightningBolt(Vector3 loc, Map map, float size, Color?color = null) { bool flag = !loc.ShouldSpawnMotesAt(map); if (!flag) { FleckCreationData data = AdeptusFleckMaker.GetDataStatic(loc + size * new Vector3(Rand.Value - 0.5f, 0f, Rand.Value - 0.5f), map, FleckDefOf.LightningGlow, Rand.Range(4f, 6f) * size); data.rotationRate = Rand.Range(-3f, 3f); data.velocityAngle = (float)Rand.Range(0, 360); data.velocitySpeed = 1.2f; if (color.HasValue) { data.instanceColor = color.Value; } map.flecks.CreateFleck(data); } }
public static void ThrowFireGlow(Vector3 c, Map map, float size) { bool flag = !c.ShouldSpawnMotesAt(map); if (!flag) { Vector3 loc = c + size * new Vector3(Rand.Value - 0.5f, 0f, Rand.Value - 0.5f); bool flag2 = !loc.InBounds(map); if (!flag2) { FleckCreationData data = AdeptusFleckMaker.GetDataStatic(loc, map, FleckDefOf.FireGlow, Rand.Range(4f, 6f) * size); data.rotationRate = Rand.Range(-3f, 3f); data.velocityAngle = (float)Rand.Range(0, 360); data.velocitySpeed = 0.12f; map.flecks.CreateFleck(data); } } }
// edited AdeptusFleckMaker.ThrowDustPuff public static void ThrowDustPuff(Vector3 loc, Map map, float scale, FleckDef def = null, Color?color = null) { bool flag = !loc.ShouldSpawnMotesAt(map); if (!flag) { FleckCreationData data = AdeptusFleckMaker.GetDataStatic(loc, map, def ?? FleckDefOf.DustPuff, 1.9f * scale); data.rotationRate = (float)Rand.Range(-60, 60); data.velocityAngle = (float)Rand.Range(0, 360); data.velocitySpeed = Rand.Range(0.6f, 0.75f); if (color.HasValue) { data.instanceColor = color.Value; // moteThrown.instanceColor = new Color(0.368f, 0f, 1f); } map.flecks.CreateFleck(data); } }
// edited public static void ThrowSmoke(Vector3 loc, float size, Map map, FleckDef def = null, Color?color = null, float?exactRotation = null) { bool flag = !loc.ShouldSpawnMotesAt(map); if (!flag) { FleckCreationData data = AdeptusFleckMaker.GetDataStatic(loc, map, def ?? FleckDefOf.Smoke, Rand.Range(1.5f, 2.5f) * size); data.rotationRate = Rand.Range(-30f, 30f); data.velocityAngle = (float)Rand.Range(30, 40); data.spawnPosition = loc; data.velocitySpeed = Rand.Range(0.5f, 0.7f); if (color.HasValue) { data.instanceColor = color.Value; // moteThrown.instanceColor = new Color(0.368f, 0f, 1f); } if (exactRotation.HasValue) { data.rotation += exactRotation.Value; } map.flecks.CreateFleck(data); } }
// edited public static void Static(Vector3 loc, Map map, FleckDef fleckDef, float scale = 1f, Color?color = null, float?exactRotation = null, float?rotationRate = null, float?solidTimeOverride = null) { map.flecks.CreateFleck(AdeptusFleckMaker.GetDataStatic(loc, map, fleckDef, scale, color, exactRotation, rotationRate, solidTimeOverride)); }