
// 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=1.6              // Maximum radius to apply damage
Engine=16000.0             // Impulse to seize engine
AeroDiv=1.25e-5            // Multiplied by impulse to affect aerodynamics and vertices
AeroMin=1750.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=Debris7          // 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=Debris6          // 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=1900.0     // Minimum impulse to detach front wing (doesn't apply to WC cars)
FrontWingRandom=1.0        // Fraction of time wing breaks off
FrontWingPos=(0.0,0.0,0.0) // If zero, automatically finds position of wing from graphics to check for damage
FrontWingMassInertia=(10.0, 1.0, 0.5, 1.5) // Mass and inertia
FrontWingCollParams=(3600.0, 65.0, 0.60)   // Spring/damper/friction
RearWingDetach=1900.0      // Minimum impulse to detach front wing (doesn't apply to WC cars)
RearWingRandom=1.0         // 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=(10.0, 1.0, 0.5, 1.5) // Mass and inertia
RearWingCollParams=(3600.0, 65.0, 0.60)   // Spring/damper/friction
TireCutDull=(6000.0, 0.25) // Impulse and fraction of incidents to cut tire with dull object
TireCutSharp=(500.0, 0.65) // Impulse and fraction of incidents to cut tire with sharp object (body panel or wing)
WheelBend=1500.0            // Impulse to bend wheel
WheelDetach=6000.0         // Threshold to detach wheel
WheelRandom=0.75           // Fraction of incidents where wheel actually breaks off
Wheel0MassInertia=(30.0, 1.5, 1.0, 1.0) // Mass and inertia
Wheel0CollParams=(11100.0, 105.0, 1.00) // Spring/damper/friction
Wheel1MassInertia=(30.0, 1.5, 1.0, 1.0) // Mass and inertia
Wheel1CollParams=(11100.0, 105.0, 1.00) // Spring/damper/friction
Wheel2MassInertia=(30.0, 1.5, 1.0, 1.0) // Mass and inertia
Wheel2CollParams=(11100.0, 105.0, 1.00) // Spring/damper/friction
Wheel3MassInertia=(30.0, 1.5, 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=8500.0         // Impulse to make part become debris (see .gen file)
Part5Random=0.0            // 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=8600.0         // Impulse to make part become debris (see .gen file)
Part6Random=0.0            // 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=8800.0         // Impulse to make part become debris (see .gen file)
Part7Random=0.0            // 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=8800.0         // Impulse to make part become debris (see .gen file)
Part8Random=0.0            // 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=(10.0, 1.0, 1.0, 1.0) // Mass and inertia
Part8CollParams=(3600.0, 65.0, 0.60)   // Spring/damper/friction
Part9Detach=8800.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=(10.0, 1.0, 1.0, 1.0) // 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=(10.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
RestrictionSphere=(0.40, 1.05, 0.08, 0.95)  // Don't crush verts too much around driver's head or the helmet might poke through the roof.
ForceFieldSphere=( 0.40, 0.40, -0.90, 0.45) // Protect driver's legs
ForceFieldSphere=( 0.00, 0.35, -1.85, 0.45) // Keep body verts out of radiator
ForceFieldSphere=( 0.74, 0.35, -1.62, 0.47) // Keep verts away from FL wheel
ForceFieldSphere=(-0.74, 0.35, -1.62, 0.47) // Keep verts away from FR wheel
ForceFieldSphere=( 0.74, 0.35,  1.44, 0.47) // Keep verts away from RL wheel
ForceFieldSphere=(-0.74, 0.35,  1.44, 0.47) // Keep verts away from RR wheel
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=RWING                    // 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=WWELL
DeformableInstance=SIDESKIRTS



