public LightWorm(AbstractCreature abstractCreature, World world) : base(abstractCreature, world) { bodyChunks = new BodyChunk[2]; bodyChunks[0] = new BodyChunk(this, 0, new Vector2(0f, 0f), 8f, 0.05f); bodyChunks[1] = new BodyChunk(this, 0, new Vector2(0f, 0f), 8f, 0.05f); bodyChunks[0].rotationChunk = bodyChunks[1]; bodyChunks[1].collideWithTerrain = false; bodyChunkConnections = new PhysicalObject.BodyChunkConnection[0]; tentacle = new Tentacle(this, bodyChunks[1], 400f * bodySize); tentacle.tProps = new Tentacle.TentacleProps(false, false, true, 0.5f, 0f, 1.4f, 0f, 0f, 1.2f, 10f, 0.25f, 5f, 15, 60, 12, 0); tentacle.tChunks = new Tentacle.TentacleChunk[(int)(15f * Mathf.Lerp(bodySize, 1f, 0.5f))]; for (int i = 0; i < tentacle.tChunks.Length; i++) { tentacle.tChunks[i] = new Tentacle.TentacleChunk(tentacle, i, (float)(i + 1) / (float)tentacle.tChunks.Length, 2f * Mathf.Lerp(bodySize, 1f, 0.5f)); } tentacle.stretchAndSqueeze = 0.1f; GoThroughFloors = true; airFriction = 0.99f; gravity = 0.9f; bounce = 0.1f; surfaceFriction = 0.47f; collisionLayer = 1; waterFriction = 0.92f; buoyancy = 0.95f; extended = 1f; retractSpeed = 1f; lastExtended = true; }
public void ctor(AbstractPhysicalObject abstractPhysicalObject, Room room) { orig_ctor(abstractPhysicalObject, room); if (ID == OracleID.SS) { this.oracleBehavior = new FPOracleBehaviorHasMark(this); } else { health = 1f; bodyChunks = new BodyChunk[2]; for (int i = 0; i < bodyChunks.Length; i++) { bodyChunks[i] = new BodyChunk(this, i, (ID != OracleID.SS) ? new Vector2(1585f + 5f * (float)i, 148f - 5f * (float)i) : new Vector2(350f, 350f), 6f, 0.5f); } bodyChunkConnections = new PhysicalObject.BodyChunkConnection[1]; bodyChunkConnections[0] = new PhysicalObject.BodyChunkConnection(bodyChunks[0], bodyChunks[1], 9f, BodyChunkConnection.Type.Normal, 1f, 0.5f); mySwarmers = new System.Collections.Generic.List <OracleSwarmer>(); airFriction = 0.99f; gravity = 0f; bounce = 0.1f; surfaceFriction = 0.17f; collisionLayer = 1; waterFriction = 0.92f; buoyancy = 0.95f; //this.moonmarbles = new List<MoonPearl>(); //this.SetUpMoonMarbles(); moonmarbles = new List <MoonPearl>(); SetUpMoonMarbles(); oracleBehavior = new LMOracleBehaviorHasMark(this); arm = new patch_Oracle.OracleArm(this); room.gravity = 0f; } }
public static void Write(PhysicalObject.BodyChunkConnection bodyChunkConnection, ref BinaryWriter writer) { writer.Write(bodyChunkConnection.active); writer.Write((byte)bodyChunkConnection.type); writer.Write(bodyChunkConnection.distance); writer.Write(bodyChunkConnection.weightSymmetry); writer.Write(bodyChunkConnection.elasticity); }
public static PhysicalObject.BodyChunkConnection Read(PhysicalObject.BodyChunkConnection bodyChunkConnection, ref BinaryReader reader) { bodyChunkConnection.active = reader.ReadBoolean(); bodyChunkConnection.type = (PhysicalObject.BodyChunkConnection.Type)reader.ReadByte(); bodyChunkConnection.distance = reader.ReadSingle(); bodyChunkConnection.weightSymmetry = reader.ReadSingle(); bodyChunkConnection.elasticity = reader.ReadSingle(); return(bodyChunkConnection); }
// Token: 0x060018D4 RID: 6356 RVA: 0x0013EABC File Offset: 0x0013CCBC public TreeFruit(AbstractPhysicalObject abstractPhysicalObject) : base(abstractPhysicalObject) { bites = 2; bodyChunks = new BodyChunk[1]; bodyChunks[0] = new BodyChunk(this, 0, new Vector2(0f, 0f), 8f, 0.2f); bodyChunkConnections = new PhysicalObject.BodyChunkConnection[0]; airFriction = 0.999f; gravity = 0.9f; bounce = 0.2f; surfaceFriction = 0.7f; collisionLayer = 1; waterFriction = 0.95f; buoyancy = 1.1f; }