Cogito, ergo sum
Legacy:Vehicles Pre2004/TakeDamage
From Unreal Wiki, The Unreal Engine Documentation Site
Don't kill the driver!
The TakeDamage can be changed so that if the vehicle is destroyed, the driver doesn't die, but takes a lot of damage. This is useful for smaller vehicles like bikes.
function TakeDamage(int Damage, Pawn instigatedBy, Vector hitlocation,
Vector momentum, class<DamageType> damageType)
{
Local Pawn OldDriver; //The driver that just exited
// Avoid damage healing the car!
if(Damage < 0)
return;
if(damageType == class'DamTypeSuperShockBeam')
Health -= 100; // Instagib doesn't work on vehicles
else
Health -= 0.5 * Damage; // Weapons do less damage
// The vehicle is dead!
if(Health <= 0)
{
if ( Controller != None )
{
OldDriver = Driver;
KDriverLeave(True); // Get the player out (forced)
//Let the driver take a lot of damage
OldDriver.TakeDamage(120, instigatedBy, hitlocation, momentum, damageType);
}
Destroy(); // Destroy the vehicle itself (see Destroyed)
}
KAddImpulse(momentum, hitlocation);
}
