4035 {
4037 {
4040 Car car;
4041 Boat boat;
4042 float damage;
4043 vector impulse;
4044
4045
4046 if (Car.CastTo(car, transport))
4047 {
4048 if (car.GetSpeedometerAbsolute() > 2 )
4049 {
4051 ProcessDirectDamage(DT_CUSTOM, transport, "", "TransportHit", "0 0 0", damage);
4052 }
4053 else
4054 {
4056 }
4057
4058
4059 if (IsDamageDestroyed() && car.GetSpeedometerAbsolute() > 3)
4060 {
4062 impulse[1] = 40 * 1.5;
4064 }
4065 }
4066 else if (Boat.CastTo(boat, transport))
4067 {
4068 Human player = Human.Cast(this);
4069 if (player && player.PhysicsGetLinkedEntity() == boat)
4070 {
4072 return;
4073 }
4074
4076 {
4078 ProcessDirectDamage(DT_CUSTOM, transport, "", "TransportHit", "0 0 0", damage);
4079 }
4080 else
4082 }
4083 else
4084 {
4085
4087 {
4089 ProcessDirectDamage(DT_CUSTOM, transport, "", "TransportHit", "0 0 0", damage);
4090 }
4091 else
4092 {
4094 }
4095
4096
4098 {
4100 impulse[1] = 40 * 1.5;
4102 }
4103 }
4104 }
4105 }
bool m_TransportHitRegistered
vector m_TransportHitVelocity
proto native vector GetVelocity(notnull IEntity ent)
Returns linear velocity.
proto void dBodyApplyImpulse(notnull IEntity body, vector impulse)
Applies impuls on a rigidbody (origin)