Exemplo n.º 1
0
    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;
    }
Exemplo n.º 2
0
 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;
     }
 }
Exemplo n.º 3
0
 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);
 }
Exemplo n.º 4
0
 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);
 }
Exemplo n.º 5
0
 // 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;
 }