Well, as you can see here, whenever a UTPawn lands the AirControl is reset to DefaultAirControl.
Code:
event Landed(vector HitNormal, actor FloorActor)
{
local vector Impulse;
Super.Landed(HitNormal, FloorActor);
// adds impulses to vehicles and dynamicSMActors (e.g. KActors)
Impulse.Z = Velocity.Z * 4.0f; // 4.0f works well for landing on a Scorpion
if (UTVehicle(FloorActor) != None)
{
UTVehicle(FloorActor).Mesh.AddImpulse(Impulse, Location);
}
else if (DynamicSMActor(FloorActor) != None)
{
DynamicSMActor(FloorActor).StaticMeshComponent.AddImpulse(Impulse, Location);
}
if ( Velocity.Z < -200 )
{
OldZ = Location.Z;
bJustLanded = bUpdateEyeHeight && (Controller != None) && Controller.LandingShake();
}
if (UTInventoryManager(InvManager) != None)
{
UTInventoryManager(InvManager).OwnerEvent('Landed');
}
if ((MultiJumpRemaining < MaxMultiJump && bStopOnDoubleLanding) || bDodging || Velocity.Z < -2 * JumpZ)
{
// slow player down if double jump landing
Velocity.X *= 0.1;
Velocity.Y *= 0.1;
}
AirControl = DefaultAirControl;
MultiJumpRemaining = MaxMultiJump;
bDodging = false;
bReadyToDoubleJump = false;
if (UTBot(Controller) != None)
{
UTBot(Controller).ImpactVelocity = vect(0,0,0);
}
if(!bHidden)
{
PlayLandingSound();
}
if (Velocity.Z < -MaxFallSpeed)
{
SoundGroupClass.Static.PlayFallingDamageLandSound(self);
}
else if (Velocity.Z < MaxFallSpeed * -0.5)
{
SoundGroupClass.Static.PlayLandSound(self);
}
SetBaseEyeheight();
}
You need to change DefaultAirControl also.
Code:
defaultproperties
{
AirControl=0.0
DefaultAirControl=0.0
}
Bookmarks