4030 {
4032 {
4035 Car car;
4036 Boat boat;
4037 float damage;
4038 vector impulse;
4039
4040
4041 if (Car.CastTo(car, transport))
4042 {
4043 if (car.GetSpeedometerAbsolute() > 2 )
4044 {
4046 ProcessDirectDamage(DT_CUSTOM, transport, "", "TransportHit", "0 0 0", damage);
4047 }
4048 else
4049 {
4051 }
4052
4053
4054 if (IsDamageDestroyed() && car.GetSpeedometerAbsolute() > 3)
4055 {
4057 impulse[1] = 40 * 1.5;
4059 }
4060 }
4061 else if (Boat.CastTo(boat, transport))
4062 {
4063 Human player = Human.Cast(this);
4064 if (player && player.PhysicsGetLinkedEntity() == boat)
4065 {
4067 return;
4068 }
4069
4071 {
4073 ProcessDirectDamage(DT_CUSTOM, transport, "", "TransportHit", "0 0 0", damage);
4074 }
4075 else
4077 }
4078 else
4079 {
4080
4082 {
4084 ProcessDirectDamage(DT_CUSTOM, transport, "", "TransportHit", "0 0 0", damage);
4085 }
4086 else
4087 {
4089 }
4090
4091
4093 {
4095 impulse[1] = 40 * 1.5;
4097 }
4098 }
4099 }
4100 }
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)