It seems the culprit is actually GameInfo.SetDefaults() for me.
It gets called AFTER the pawn's PostBeginPlay(). This is why your settings in the Pawn's default properties get overwritten.
Code:
/* SetPlayerDefaults() first make sure pawn properties are back to default, then give mutators an opportunity to modify them */ function SetPlayerDefaults(Pawn PlayerPawn) { PlayerPawn.AirControl = PlayerPawn.Default.AirControl; PlayerPawn.GroundSpeed = PlayerPawn.Default.GroundSpeed; PlayerPawn.WaterSpeed = PlayerPawn.Default.WaterSpeed; PlayerPawn.AirSpeed = PlayerPawn.Default.AirSpeed; PlayerPawn.Acceleration = PlayerPawn.Default.Acceleration; PlayerPawn.AccelRate = PlayerPawn.Default.AccelRate; PlayerPawn.JumpZ = PlayerPawn.Default.JumpZ; if ( BaseMutator != None ) BaseMutator.ModifyPlayer(PlayerPawn); PlayerPawn.PhysicsVolume.ModifyPlayer(PlayerPawn); }
Leave a comment: