
// This file has two sections ... physical damage and vertex deformation.

// PHYSICAL DAMAGE:
[PHYSICAL]
RadiusAdd=0.6              // Base radius to apply damage
RadiusMult=0.00014         // Multiplied by collision impulse to increase radius
RadiusMax=2.0              // Maximum radius to apply damage
Engine=16300.0             // Impulse to seize engine
AeroDiv=1.80e-5            // Multiplied by impulse to affect aerodynamics and vertices
AeroMin=1400.0             // Minimum impulse to damage aero and verts (unlike everything else, computed BEFORE damage multiplier)
VertMult=1.0               // Multiplied by aero damage to get vert damage
RadiatorCoverInstance=RadCover     // If this gets knocked off, engine cools but aerodynamics suffer
DeactivateInstance=LowDetailEngine // Deactivate this instance if any parts get knocked off
ActivateInstance=HighDetailEngine  // Activate this instance if any parts get knocked off
FLSuspIns=Debris5         // Instance (used for suspension movement on front-left wheel)
FLSuspConn=(0.0,1.0)       // Connection points for suspension movement (relative to inboard and outboard verts)
FRSuspIns=Debris6          // Instance (used for suspension movement on front-right wheel)
FRSuspConn=(0.0,1.0)       // Connection points for suspension movement (relative to inboard and outboard verts)
RLSuspIns=Debris7          // Instance (used for suspension movement on rear-left wheel)
RLSuspConn=(0.0,1.0)       // Connection points for suspension movement (relative to inboard and outboard verts)
RRSuspIns=Debris8          // Instance (used for suspension movement on rear-right wheel)
RRSuspConn=(0.0,1.0)       // Connection points for suspension movement (relative to inboard and outboard verts)
WallSkidThresh=3000.0      // Minimum impulse to generate wall skid (ignores damage setting and multiplier)
FrontWingDetach=7500.0     // Minimum impulse to detach front wing or air dam/splitter
FrontWingRandom=0.4        // Fraction of time front downforce device breaks off
FrontWingPos=(0.0,0.0,0.0) // If zero, automatically finds position of wing from graphics to check for damage
FrontWingMassInertia=(20.0, 2.0, 4.0, 3.0) // Mass and inertia
FrontWingCollParams=(5400.0, 80.0, 0.60)   // Spring/damper/friction
RearWingDetach=2600.0      // Minimum impulse to detach rear wing
RearWingRandom=0.75        // Fraction of time wing breaks off
RearWingPos=(0.0,0.0,0.0)  // If zero, automatically finds position of wing from graphics to check for damage
RearWingMassInertia=(5.0, 0.10, 0.99, 1.00) // Mass and inertia
RearWingCollParams=(3600.0, 65.0, 0.60)   // Spring/damper/friction
TireCutDull=(5500.0, 0.20) // Impulse and fraction of incidents to cut tire with dull object
TireCutSharp=(445.0, 0.60) // Impulse and fraction of incidents to cut tire with sharp object (body panel or wing)
WheelBend=5800.0           // Impulse to bend wheel
WheelDetach=19500.0        // Threshold to detach wheel
WheelRandom=0.34           // Fraction of incidents where wheel actually breaks off
Wheel0MassInertia=(27.0, 1.6, 1.0, 1.0) // Mass and inertia
Wheel0CollParams=(11100.0, 105.0, 1.00) // Spring/damper/friction
Wheel1MassInertia=(27.0, 1.6, 1.0, 1.0) // Mass and inertia
Wheel1CollParams=(11100.0, 105.0, 1.00) // Spring/damper/friction
Wheel2MassInertia=(27.0, 1.6, 1.0, 1.0) // Mass and inertia
Wheel2CollParams=(11100.0, 105.0, 1.00) // Spring/damper/friction
Wheel3MassInertia=(27.0, 1.6, 1.0, 1.0) // Mass and inertia
Wheel3CollParams=(11100.0, 105.0, 1.00) // Spring/damper/friction
Part0Detach=8700.0         // Impulse to make part become debris (see .gen file)
Part0Random=0.4            // Fraction of time part breaks off
Part0Pos=(0.0,0.0,0.0)     // If zero, automatically finds position of part from graphics to check for damage
Part0MassInertia=(20.0, 2.0, 4.0, 2.0) // Mass and inertia
Part0CollParams=(7200.0, 100.0, 0.60)  // Spring/damper/friction
Part1Detach=8800.0         // Impulse to make part become debris (see .gen file)
Part1Random=0.4            // Fraction of time part breaks off
Part1Pos=(0.0,0.0,0.0)     // If zero, automatically finds position of part from graphics to check for damage
Part1MassInertia=(10.0, 1.0, 1.0, 1.0) // Mass and inertia
Part1CollParams=(3600.0, 65.0, 0.60)   // Spring/damper/friction
Part2Detach=8600.0         // Impulse to make part become debris (see .gen file)
Part2Random=0.4            // Fraction of time part breaks off
Part2Pos=(0.0,0.0,0.0)     // If zero, automatically finds position of part from graphics to check for damage
Part2MassInertia=(10.0, 1.0, 1.0, 1.0) // Mass and inertia
Part2CollParams=(3600.0, 65.0, 0.60)   // Spring/damper/friction
Part3Detach=8900.0         // Impulse to make part become debris (see .gen file)
Part3Random=0.4            // Fraction of time part breaks off
Part3Pos=(0.0,0.0,0.0)     // If zero, automatically finds position of part from graphics to check for damage
Part3MassInertia=(10.0, 1.0, 1.0, 1.0) // Mass and inertia
Part3CollParams=(3600.0, 65.0, 0.60)   // Spring/damper/friction
Part4Detach=9000.0         // Impulse to make part become debris (see .gen file)
Part4Random=0.4            // Fraction of time part breaks off
Part4Pos=(0.0,0.0,0.0)     // If zero, automatically finds position of part from graphics to check for damage
Part4MassInertia=(10.0, 1.0, 1.0, 1.0) // Mass and inertia
Part4CollParams=(3600.0, 65.0, 0.60)   // Spring/damper/friction
Part5Detach=20500.0        // Impulse to make part become debris (see .gen file)
Part5Random=0.4            // Fraction of time part breaks off
Part5Pos=(0.0,0.0,0.0)     // If zero, automatically finds position of part from graphics to check for damage
Part5MassInertia=(10.0, 1.0, 1.0, 1.0) // Mass and inertia
Part5CollParams=(3600.0, 65.0, 0.60)   // Spring/damper/friction
Part6Detach=20500.0         // Impulse to make part become debris (see .gen file)
Part6Random=0.4            // Fraction of time part breaks off
Part6Pos=(0.0,0.0,0.0)     // If zero, automatically finds position of part from graphics to check for damage
Part6MassInertia=(10.0, 1.0, 1.0, 1.0) // Mass and inertia
Part6CollParams=(3600.0, 65.0, 0.60)   // Spring/damper/friction
Part7Detach=21000.0         // Impulse to make part become debris (see .gen file)
Part7Random=0.4            // Fraction of time part breaks off
Part7Pos=(0.0,0.0,0.0)     // If zero, automatically finds position of part from graphics to check for damage
Part7MassInertia=(10.0, 1.0, 1.0, 1.0) // Mass and inertia
Part7CollParams=(3600.0, 65.0, 0.60)   // Spring/damper/friction
Part8Detach=21000.0         // Impulse to make part become debris (see .gen file)
Part8Random=0.4            // Fraction of time part breaks off
Part8Pos=(0.0,0.0,0.0)     // If zero, automatically finds position of part from graphics to check for damage
Part8MassInertia=(6.0, 0.2, 0.2, 0.2)  // Mass and inertia
Part8CollParams=(3600.0, 65.0, 0.60)   // Spring/damper/friction
Part9Detach=2400.0         // Impulse to make part become debris (see .gen file)
Part9Random=0.4            // Fraction of time part breaks off
Part9Pos=(0.0,0.0,0.0)     // If zero, automatically finds position of part from graphics to check for damage
Part9MassInertia=(6.0, 0.2, 0.2, 0.2) // Mass and inertia
Part9CollParams=(3600.0, 65.0, 0.60)   // Spring/damper/friction
Part10Detach=8800.0         // Impulse to make part become debris (see .gen file)
Part10Random=0.4            // Fraction of time part breaks off
Part10Pos=(0.0,0.0,0.0)     // If zero, automatically finds position of part from graphics to check for damage
Part10MassInertia=(8.0, 1.0, 1.0, 1.0) // Mass and inertia
Part10CollParams=(3600.0, 65.0, 0.60)   // Spring/damper/friction
Part11Detach=8800.0         // Impulse to make part become debris (see .gen file)
Part11Random=0.4            // Fraction of time part breaks off
Part11Pos=(0.0,0.0,0.0)     // If zero, automatically finds position of part from graphics to check for damage
Part11MassInertia=(10.0, 1.0, 1.0, 1.0) // Mass and inertia
Part11CollParams=(3600.0, 65.0, 0.60)   // Spring/damper/friction


// VERTEX DAMAGE:
//
// This section defines how verts can be moved.  There are two available rules currently:
//
// 1) You can restrict all verts within a given sphere to move a given distance:
//    - RestrictionLimit=<maximum movement>
//    - RestrictionSphere=(<x>, <y>, <z>, <radius>)
//    You can change the limit before each sphere, or continue to use the last one defined.
//
// 2) You can prevent all verts from entering a given sphere:
//    - ForceFieldSphere=(<x>, <y>, <z>, <radius>)
//    Verts within the sphere cannot get any closer to the center.
//
// Note that the verts here are relative to the graphics model, not the physical CG.  To
// make things difficult, the graphics model isn't necessarily centered or anything.

[VERTEX]
DefaultLimit=1.00                         // By default, all verts can move up to a meter
RestrictionLimit=0.10                     // Restricted verts can only move this far
ForceFieldSphere=(0.4,0.4,-0.460827,0.45) //
ForceFieldSphere=(0.0,0.35,-1.61256,0.45) //
ForceFieldSphere=(0.74,0.35,-1.68024,0.4) //
ForceFieldSphere=(-0.74,0.35,-1.71022,0.4) //
ForceFieldSphere=(0.635518,0.35,1.59192,0.4) //
ForceFieldSphere=(-0.657543,0.35,1.59198,0.4) //
DeformableInstance=SLOT                 // This is a *special* keyword indicating the main body of the slot (which is named on-the-fly)
DeformableInstance=FWING                // You can leave this even if your vehicle doesn't have one
DeformableInstance=FRONT                // You can leave this even if your vehicle doesn't have one
DeformableInstance=RBUMP                // You can leave this even if your vehicle doesn't have one
DeformableInstance=RWING                // You can leave this even if your vehicle doesn't have one
DeformableInstance=RADCOVER             // You can leave this even if your vehicle doesn't have one
DeformableInstance=DEBRIS0              // You can leave this even if your vehicle doesn't have one
DeformableInstance=DEBRIS1              // You can leave this even if your vehicle doesn't have one
DeformableInstance=DEBRIS2              // You can leave this even if your vehicle doesn't have one
DeformableInstance=DEBRIS3              // You can leave this even if your vehicle doesn't have one
DeformableInstance=DEBRIS4              // You can leave this even if your vehicle doesn't have one
DeformableInstance=DEBRIS5              // You can leave this even if your vehicle doesn't have one
DeformableInstance=DEBRIS6              // You can leave this even if your vehicle doesn't have one
DeformableInstance=DEBRIS7              // You can leave this even if your vehicle doesn't have one
DeformableInstance=DEBRIS8              // You can leave this even if your vehicle doesn't have one
DeformableInstance=DEBRIS9              // You can leave this even if your vehicle doesn't have one
DeformableInstance=DEBRIS10             // You can leave this even if your vehicle doesn't have one
DeformableInstance=DEBRIS11             // You can leave this even if your vehicle doesn't have one
DeformableInstance=EXHAUST
DeformableInstance=INSIDE
DeformableInstance=WWELL
DeformableInstance=SSKIRTS

